Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring testing branch up to date. #290

Closed
wants to merge 606 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
606 commits
Select commit Hold shift + click to select a range
95bc613
Update ObjectProperties.vue
SalleeMatthew Apr 16, 2024
fb831d3
Update object-instance.repository.ts
SalleeMatthew Apr 16, 2024
fc0f3c0
Update ObjectProperties.vue
SalleeMatthew Apr 16, 2024
0de4357
Update ObjectProperties.vue
SalleeMatthew Apr 24, 2024
7a3dc3c
Update object-instance.service.ts
SalleeMatthew Apr 24, 2024
3bb5eb9
Update object-instance.controller.ts
SalleeMatthew Apr 24, 2024
7dc7d07
Update ObjectProperties.vue
SalleeMatthew Apr 24, 2024
25dcac5
Update ObjectProperties.vue
SalleeMatthew Apr 25, 2024
884dacc
Update object-instance.service.ts
SalleeMatthew Apr 25, 2024
78a8377
Update ObjectProperties.vue
SalleeMatthew Apr 25, 2024
376d66c
Update object-instance.controller.ts
SalleeMatthew Apr 25, 2024
18debba
Avatar Gallery + Avatar Uploads (#253)
dburleson May 7, 2024
0649d18
Update MallApprovalPage.vue
SalleeMatthew Apr 26, 2024
6149fba
Update MallApprovalPage.vue
SalleeMatthew Apr 26, 2024
d6efc01
Create home.wrl
SalleeMatthew May 6, 2024
5e7544c
Create home.wrl
SalleeMatthew May 6, 2024
2366433
Add files via upload
SalleeMatthew May 6, 2024
e22f49c
Add files via upload
SalleeMatthew May 6, 2024
b7b3519
Add files via upload
SalleeMatthew May 6, 2024
4c1ad05
Add files via upload
SalleeMatthew May 6, 2024
55edfe0
Update MallApprovalPage.vue
SalleeMatthew Apr 26, 2024
ffb3919
Update MallApprovalPage.vue
SalleeMatthew Apr 26, 2024
d88e2a1
Add files via upload
SalleeMatthew May 6, 2024
7f73c3d
Add files via upload
SalleeMatthew May 6, 2024
cda45b4
Add files via upload
SalleeMatthew May 6, 2024
6bd1dcc
Add files via upload
SalleeMatthew May 6, 2024
4e65c51
Add files via upload
SalleeMatthew May 6, 2024
25d592e
Add files via upload
SalleeMatthew May 6, 2024
0b9b79c
Add files via upload
SalleeMatthew May 6, 2024
87a7150
Add files via upload
SalleeMatthew May 6, 2024
f73df19
Add files via upload
SalleeMatthew May 6, 2024
e930888
Add files via upload
SalleeMatthew May 6, 2024
16cccb4
Add files via upload
SalleeMatthew May 6, 2024
11c3c27
fix wallet_id lookup for buy/sell objects
dburleson May 7, 2024
8d2a669
fix username comparison check
dburleson May 7, 2024
1e857e9
support .jpg files for object and avatar textures and thumbnail
dburleson May 11, 2024
6fb4d68
update token when avatar updates
dburleson May 12, 2024
61be06a
fix avatar assets loading location
dburleson May 13, 2024
dd18956
link up avatar library in info modal
dburleson May 13, 2024
e879c01
Update ObjectProperties.vue
SalleeMatthew May 14, 2024
aa14dd9
Update object-instance.repository.ts
SalleeMatthew May 14, 2024
b5120b5
Update Chat.vue
SalleeMatthew May 14, 2024
2c8a00f
Update object-instance.controller.ts
SalleeMatthew May 14, 2024
47fb695
Update object-instance.service.ts
SalleeMatthew May 14, 2024
c313cd2
Add files via upload
SalleeMatthew May 14, 2024
94c3fc1
Add files via upload
SalleeMatthew May 14, 2024
f7ae6db
Create fleamarket.service.ts
SalleeMatthew May 14, 2024
0403991
Add files via upload
SalleeMatthew May 14, 2024
a27f8c3
Update index.ts
SalleeMatthew May 14, 2024
d4b87c7
Update index.ts
SalleeMatthew May 14, 2024
f99ce26
Update index.ts
SalleeMatthew May 14, 2024
2fa02ed
Update Chat.vue
SalleeMatthew May 14, 2024
6bf241d
Update ObjectProperties.vue
SalleeMatthew May 14, 2024
dd8b8bf
Update shared_xite.wrl
SalleeMatthew May 18, 2024
0775b01
Add files via upload
SalleeMatthew May 15, 2024
394855a
Add files via upload
SalleeMatthew May 15, 2024
e9eba28
Add files via upload
SalleeMatthew May 15, 2024
8a768a2
Add files via upload
SalleeMatthew May 15, 2024
7280b1b
Add files via upload
SalleeMatthew May 15, 2024
0a3faf5
Add files via upload
SalleeMatthew May 15, 2024
ee060a2
Create mall.repository.ts
SalleeMatthew May 15, 2024
a679d78
Add files via upload
SalleeMatthew May 15, 2024
4abd2a2
Add files via upload
SalleeMatthew May 15, 2024
916e5fa
Add files via upload
SalleeMatthew May 15, 2024
0a3cd8a
Add files via upload
SalleeMatthew May 15, 2024
9628241
Add files via upload
SalleeMatthew May 15, 2024
82aa778
Add files via upload
SalleeMatthew May 15, 2024
6005f65
Add files via upload
SalleeMatthew May 15, 2024
f6658b0
Add files via upload
SalleeMatthew May 15, 2024
7c88148
Add files via upload
SalleeMatthew May 15, 2024
0ec5473
Add files via upload
SalleeMatthew May 15, 2024
4029038
Add files via upload
SalleeMatthew May 15, 2024
a01c5e3
Add files via upload
SalleeMatthew May 15, 2024
b4454b7
Create CreatorPage.vue
SalleeMatthew May 28, 2024
c1e93ac
Add files via upload
SalleeMatthew May 28, 2024
e61279b
Create StaffPage.vue
SalleeMatthew May 28, 2024
e7e8eda
Add files via upload
SalleeMatthew May 28, 2024
9240853
Update object.model.ts
SalleeMatthew May 28, 2024
6843084
Add files via upload
SalleeMatthew May 28, 2024
344b6f7
Add files via upload
SalleeMatthew May 28, 2024
4b7a6b8
Add files via upload
SalleeMatthew May 28, 2024
6863e8b
Add files via upload
SalleeMatthew May 28, 2024
d7930ea
Add files via upload
SalleeMatthew May 28, 2024
1368b9b
Add files via upload
SalleeMatthew May 28, 2024
9b49eb9
Add files via upload
SalleeMatthew May 28, 2024
11ce5fb
Add files via upload
SalleeMatthew May 28, 2024
61d6cc6
Add files via upload
SalleeMatthew May 28, 2024
14b9555
Add files via upload
SalleeMatthew May 28, 2024
d695b6d
Add files via upload
SalleeMatthew May 28, 2024
d0e6313
Add files via upload
SalleeMatthew May 28, 2024
208acda
Add files via upload
SalleeMatthew May 28, 2024
74b6c21
Add files via upload
SalleeMatthew May 28, 2024
6b0db65
Add files via upload
SalleeMatthew May 28, 2024
d9f1791
Create search.vue
SalleeMatthew May 28, 2024
f0c0f2e
Add files via upload
SalleeMatthew May 28, 2024
7853910
Add files via upload
SalleeMatthew May 28, 2024
7e782e8
Add files via upload
SalleeMatthew May 28, 2024
2a2af1c
Add files via upload
SalleeMatthew May 28, 2024
dc70118
Add files via upload
SalleeMatthew May 28, 2024
3cfcdf8
Add files via upload
SalleeMatthew May 28, 2024
f635efb
Add files via upload
SalleeMatthew May 28, 2024
dee6f02
Add files via upload
SalleeMatthew May 28, 2024
8136c3a
Add files via upload
SalleeMatthew May 28, 2024
bc510bc
Add files via upload
SalleeMatthew May 28, 2024
1164ef6
Add files via upload
SalleeMatthew May 28, 2024
6af5420
Add files via upload
SalleeMatthew May 29, 2024
4fcd3cd
Add files via upload
SalleeMatthew May 29, 2024
a3b1377
Add files via upload
SalleeMatthew May 29, 2024
1121580
Update Migration File
SalleeMatthew Jun 4, 2024
1949733
Update db.class.ts
SalleeMatthew Jun 4, 2024
bb113c7
Delete api/src/repositories/mall directory
SalleeMatthew Jun 4, 2024
19cb1a7
Create mall-object directory
SalleeMatthew Jun 4, 2024
5e6610f
Add mall-object repository
SalleeMatthew Jun 4, 2024
ce3133b
Update index.ts
SalleeMatthew Jun 4, 2024
b30c1a7
Update mall controller
SalleeMatthew Jun 4, 2024
3d11c6d
Update CreatorPage.vue
SalleeMatthew Jun 14, 2024
a060de6
Update StaffPage.vue
SalleeMatthew Jun 14, 2024
ab90f98
Delete spa/src/pages/mall/MallApprovalPage.vue
SalleeMatthew Jun 14, 2024
d9a7fb0
Delete spa/src/pages/mall/MallShopPage.vue
SalleeMatthew Jun 14, 2024
1df1a1b
Update routes.ts
SalleeMatthew Jun 14, 2024
c4ff93e
Update routes.ts
SalleeMatthew Jun 14, 2024
ca7ecbb
Update ObjectProperties.vue
SalleeMatthew Jun 14, 2024
1df33bb
Update ObjectProperties.vue
SalleeMatthew Jun 17, 2024
ea919ea
Update mall.service.ts
SalleeMatthew Jun 17, 2024
2c57a34
Update server.js
SalleeMatthew Jun 17, 2024
fb2943c
Update ObjectProperties.vue
SalleeMatthew Jun 17, 2024
9b7f706
Update WorldBrowserPage.vue
SalleeMatthew Jun 17, 2024
cb55a66
Update object.service.ts
SalleeMatthew Jun 26, 2024
347a304
Update mall-object.repository.ts
SalleeMatthew Jun 26, 2024
736e46e
Add files via upload
SalleeMatthew Jun 29, 2024
533c8c9
Add files via upload
SalleeMatthew Jun 29, 2024
f99a6eb
Add files via upload
SalleeMatthew Jun 29, 2024
95511f6
Add files via upload
SalleeMatthew Jun 29, 2024
155cb55
Add files via upload
SalleeMatthew Jun 29, 2024
2e68730
Add files via upload
SalleeMatthew Jun 29, 2024
a63419c
Add files via upload
SalleeMatthew Jun 29, 2024
a41b7f4
Add files via upload
SalleeMatthew Jun 29, 2024
752cfb6
Add files via upload
SalleeMatthew Jun 29, 2024
4c0300b
Add files via upload
SalleeMatthew Jun 29, 2024
89be291
Add files via upload
SalleeMatthew Jun 29, 2024
b96d3fa
Add files via upload
SalleeMatthew Jun 29, 2024
005efd5
Add files via upload
SalleeMatthew Jun 29, 2024
e2b247e
Add files via upload
SalleeMatthew Jun 29, 2024
ec52995
Add files via upload
SalleeMatthew Jun 29, 2024
e7ae8d5
Add files via upload
SalleeMatthew Jun 29, 2024
b65f8bb
Add files via upload
SalleeMatthew Jun 29, 2024
5a01231
Add files via upload
SalleeMatthew Jun 29, 2024
44b4714
Add files via upload
SalleeMatthew Jun 29, 2024
1b0c77e
Add files via upload
SalleeMatthew Jun 29, 2024
a2d6d7a
Update Chat.vue
SalleeMatthew Jun 29, 2024
6a3d672
Update CreatorPage.vue
SalleeMatthew Jun 29, 2024
509f64f
Update StaffPage.vue
SalleeMatthew Jun 29, 2024
0178884
Update mall.routes.ts
SalleeMatthew Jun 29, 2024
8f44c13
Update mall.controller.ts
SalleeMatthew Jun 29, 2024
f1360e4
Update object.service.ts
SalleeMatthew Jun 29, 2024
92b0e99
Update object.repository.ts
SalleeMatthew Jun 29, 2024
abc17ca
Update object-instance.service.ts
SalleeMatthew Jun 29, 2024
3329cd5
Update transaction.model.ts
SalleeMatthew Jun 29, 2024
d603bb1
Update transaction.repository.ts
SalleeMatthew Jun 29, 2024
ba1e453
Update StaffPage.vue
SalleeMatthew Jun 29, 2024
8c91693
Update malldirectory.wrl
SalleeMatthew Jun 29, 2024
489edd8
Add files via upload
SalleeMatthew Jun 30, 2024
7777b34
Add files via upload
SalleeMatthew Jun 30, 2024
9aedbbb
Update object-instance.service.ts
SalleeMatthew Jul 8, 2024
9fd514f
Update ObjectProperties.vue
SalleeMatthew Jul 8, 2024
2510878
Update ObjectProperties.vue
SalleeMatthew Jul 8, 2024
eb916d0
Update largeitems.wrl
SalleeMatthew Jul 8, 2024
2ca9079
Update StaffPage.vue
SalleeMatthew Jul 8, 2024
c181d84
Update messageboard.controller.ts
SalleeMatthew Jul 8, 2024
eafaf88
Update inbox.controller.ts
SalleeMatthew Jul 8, 2024
8aad1af
Update CreatorPage.vue
SalleeMatthew Jul 9, 2024
283a427
Update InfoModal.vue
SalleeMatthew Jul 13, 2024
e5e640c
Add Modals for Storage Units
SalleeMatthew Jul 13, 2024
3b0adca
Update member.routes.ts
SalleeMatthew Jul 13, 2024
16f0fe1
Update place.routes.ts
SalleeMatthew Jul 13, 2024
08df84a
Update object-instance.routes.ts
SalleeMatthew Jul 13, 2024
b94c9a7
Update member.controller.ts
SalleeMatthew Jul 13, 2024
0d4db69
Update place.controller.ts
SalleeMatthew Jul 13, 2024
bee4677
Update object-instance.controller.ts
SalleeMatthew Jul 13, 2024
b614a8a
Update member.service.ts
SalleeMatthew Jul 13, 2024
d6bf974
Update place.service.ts
SalleeMatthew Jul 13, 2024
a8af4ac
Update place.repository.ts
SalleeMatthew Jul 13, 2024
19dd214
Update StorageEditModal.vue
SalleeMatthew Jul 14, 2024
f4e9f38
Update member.controller.ts
SalleeMatthew Jul 14, 2024
2c131b6
Update StorageModal.vue
SalleeMatthew Jul 15, 2024
a660bea
Update StorageModal.vue
SalleeMatthew Jul 15, 2024
170b033
Update StorageEditModal.vue
SalleeMatthew Jul 15, 2024
8b695b6
Update StorageModal.vue
SalleeMatthew Jul 15, 2024
27c3458
Update member.service.ts
SalleeMatthew Jul 15, 2024
77e2a98
Update StorageEditModal.vue
SalleeMatthew Jul 15, 2024
5b8feec
Update StorageModal.vue
SalleeMatthew Jul 15, 2024
59cff0a
Update StorageModal.vue
SalleeMatthew Jul 15, 2024
9355d8b
Update StorageEditModal.vue
SalleeMatthew Jul 15, 2024
b652904
Update StorageEditModal.vue
SalleeMatthew Jul 22, 2024
5cfb9de
Update MallRulesPage.vue
SalleeMatthew Jul 18, 2024
fe87fab
Update StaffPage.vue
SalleeMatthew Jul 18, 2024
24ea02a
Update object.service.ts
SalleeMatthew Jul 18, 2024
b5d85a9
Update StaffPage.vue
SalleeMatthew Jul 25, 2024
e6c9cf9
Update mall.controller.ts
SalleeMatthew Jul 25, 2024
61685fe
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
23f10fa
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
2d3511c
Update ObjectProperties.vue
SalleeMatthew Jul 27, 2024
7c10f11
Update MallUploadPage.vue
SalleeMatthew Jul 27, 2024
513e46a
Update object.controller.ts
SalleeMatthew Jul 27, 2024
df35785
Update object.service.ts
SalleeMatthew Jul 27, 2024
d59612e
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
c82b556
Update ObjectProperties.vue
SalleeMatthew Jul 27, 2024
cdb5f17
Update server.js
SalleeMatthew Jul 27, 2024
6820305
Update Chat.vue
SalleeMatthew Jul 27, 2024
e52bb8b
Update object.service.ts
SalleeMatthew Jul 27, 2024
0b0ab0c
Update Chat.vue
SalleeMatthew Jul 29, 2024
8762956
Revert "Update Chat.vue"
smile0711 Jul 30, 2024
f89d707
Revert "Update object.service.ts"
smile0711 Jul 30, 2024
70627c0
Revert "Update Chat.vue"
smile0711 Jul 30, 2024
66ef9db
Revert "Update server.js"
smile0711 Jul 30, 2024
3893f96
Revert "Update ObjectProperties.vue"
smile0711 Jul 30, 2024
e34b8ad
Revert "Update CreatorPage.vue"
smile0711 Jul 30, 2024
131db25
Revert "Update object.service.ts"
smile0711 Jul 30, 2024
0209f07
Revert "Update object.controller.ts"
smile0711 Jul 30, 2024
48f9601
Revert "Update MallUploadPage.vue"
smile0711 Jul 30, 2024
c160f55
Revert "Update ObjectProperties.vue"
smile0711 Jul 30, 2024
6f1909e
Revert "Update CreatorPage.vue"
smile0711 Jul 30, 2024
4eb30bd
Revert "Update CreatorPage.vue"
smile0711 Jul 30, 2024
1680888
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
4df004c
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
bb56bfe
Update ObjectProperties.vue
SalleeMatthew Jul 27, 2024
86fe115
Update MallUploadPage.vue
SalleeMatthew Jul 27, 2024
ecfb735
Update object.controller.ts
SalleeMatthew Jul 27, 2024
02eb0b6
Update object.service.ts
SalleeMatthew Jul 27, 2024
bbf05d9
Update CreatorPage.vue
SalleeMatthew Jul 27, 2024
4fc4234
Update ObjectProperties.vue
SalleeMatthew Jul 27, 2024
3ac6226
Update server.js
SalleeMatthew Jul 27, 2024
d77516e
Update Chat.vue
SalleeMatthew Jul 27, 2024
1c95b79
Update object.service.ts
SalleeMatthew Jul 27, 2024
f331e96
Update Chat.vue
SalleeMatthew Jul 29, 2024
9bc8976
Update object.controller.ts
SalleeMatthew Jul 30, 2024
69120e4
Update mail.ts with domain
dburleson Aug 7, 2024
8001c26
Add Migration File
SalleeMatthew Jul 31, 2024
5c25038
Updated member.model.ts
SalleeMatthew Jul 31, 2024
6e748e7
Updated member.routes.ts
SalleeMatthew Jul 31, 2024
a9ca310
Updated member.controller.ts
SalleeMatthew Jul 31, 2024
e455e09
Updated member.service.ts
SalleeMatthew Jul 31, 2024
34b8ae9
Updated member.repository.ts
SalleeMatthew Jul 31, 2024
ed4d02f
Updated Chat.vue
SalleeMatthew Jul 31, 2024
8d44ad3
Add files via upload
SalleeMatthew Jul 31, 2024
ef21f27
Add files via upload
SalleeMatthew Jul 31, 2024
b225a3d
Update 20240728082907_add_member_online_fields.ts
SalleeMatthew Jul 31, 2024
b4e6f77
added users last access
buddysal Aug 15, 2024
570c99f
took out todo comment on main2d.vue
buddysal Aug 15, 2024
b6ff2fe
last access changes
buddysal Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
node_modules
.idea
dist/
spa/assets/object/
1 change: 1 addition & 0 deletions api/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ DB_PASS="pw"
DB_DATABASE="cybertown"
JWT_SECRET="devsecret"
NODE_ENV="development"
ASSETS_DIR="/usr/src/spa/assets"
2 changes: 2 additions & 0 deletions api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
node_modules
9 changes: 9 additions & 0 deletions api/.prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"trailingComma": "all",
"endOfLine": "lf",
"tabWidth": 2,
"printWidth": 100,
"useTabs": false,
"singleQuote": true,
"arrowParens": "avoid"
}
36 changes: 36 additions & 0 deletions api/db/migrations/20230316031442_create_roles.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { Knex } from 'knex';

const COLLATE = 'utf8mb4_unicode_ci';
function applyCommon(table: Knex.CreateTableBuilder) {
table.collate(COLLATE);
table.increments('id').primary();
table.timestamps(false, true);
}

const tableName = 'role';

export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasTable(tableName))) {
await knex.schema.createTable(tableName, table => {
console.log(`Creating ${tableName} table`);
applyCommon(table);

table.boolean('active').notNullable().defaultTo(true);

table.string('name').notNullable();

table.integer('required_xp').unsigned().notNullable().defaultTo(0);

table.integer('income_xp').unsigned().notNullable().defaultTo(0);

table.integer('income_cc').unsigned().notNullable().defaultTo(0);
});
}
}

export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable(tableName)) {
console.log(`Dropping ${tableName} table`);
await knex.schema.dropTable(tableName);
}
}
34 changes: 34 additions & 0 deletions api/db/migrations/20230316041126_create_role_assignment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { Knex } from 'knex';

const COLLATE = 'utf8mb4_unicode_ci';
function applyCommon(table: Knex.CreateTableBuilder) {
table.collate(COLLATE);
table.increments('id').primary();
table.timestamps(false, true);
}

const tableName = 'role_assignment';

export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasTable(tableName))) {
await knex.schema.createTable(tableName, table => {
console.log(`Creating ${tableName} table`);
applyCommon(table);

table.integer('member_id').unsigned().notNullable();
table.foreign('member_id').references('member.id');

table.integer('role_id').unsigned().notNullable();
table.foreign('role_id').references('role.id');

table.integer('place_id').unsigned();
});
}
}

export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable(tableName)) {
console.log(`Dropping ${tableName} table`);
await knex.schema.dropTable(tableName);
}
}
68 changes: 68 additions & 0 deletions api/db/migrations/20230409194209_add_messageboard.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import { Knex } from 'knex';

const COLLATE = 'utf8mb4_unicode_ci';
function applyCommon(table: Knex.CreateTableBuilder) {
table.collate(COLLATE);
table.increments('id').primary();
table.timestamps(false, true);
}

export async function up(knex: Knex): Promise<void> {
if (!await knex.schema.hasTable('messageboard')) {
await knex.schema.createTable('messageboard', table => {
console.log('Creating messageboard table again');
applyCommon(table);

table.integer('place_id', 10)
.unsigned()
.notNullable();
table.foreign('place_id')
.references('place.id');

table.integer('member_id')
.unsigned()
.notNullable();
table.foreign('member_id')
.references('member.id');

table.text('subject')
.notNullable();

table.text('message')
.notNullable();

table.integer('parent_id', 11)
.defaultTo(0)
.unsigned();

table.tinyint('reply', 1)
.defaultTo(0)
.notNullable();

table.tinyint('status',1)
.defaultTo(1)
.notNullable();
});
}

if (!await knex.schema.hasColumn('place','messageboard_intro')) {
console.log('Adding column messageboard_intro to table place');
await knex.schema.alterTable('place', table => {
table.string('messageboard_intro');
});
}
}

export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable('messageboard')) {
console.log('Dropping messageboard table');
await knex.schema.dropTable('messageboard');
}

if (await knex.schema.hasColumn('place','messageboard_intro')) {
console.log('Removing column messageboard_intro from table place');
await knex.schema.alterTable('place', table => {
table.dropColumn('messageboard_intro');
});
}
}
21 changes: 21 additions & 0 deletions api/db/migrations/20230524130944_add_role_fields_to_member.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Knex } from 'knex';

export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasColumn('member', 'primary_role_field'))) {
console.log(`Adding role fields to member table`);
await knex.schema.alterTable('member', table => {
table.integer('primary_role_id');
table.timestamp('last_weekly_role_credit').notNullable().defaultTo(knex.fn.now());
});
}
}

export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasColumn('member', 'primary_role_id')) {
console.log(`Dropping role fields from member table`);
await knex.schema.alterTable('member', table => {
table.dropColumn('primary_role_id');
table.dropColumn('last_weekly_role_credit');
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { Knex } from 'knex';


export async function up(knex: Knex): Promise<void> {
if(await knex.schema.hasColumn('place', 'messageboard_intro')) {
await knex.schema.alterTable('place', function (table) {
table.text('messageboard_intro').alter();
});
console.log('Changing messageboard_intro to text');
}
}


export async function down(knex: Knex): Promise<void> {
if(await knex.schema.hasColumn('place', 'messageboard_intro')) {
await knex.schema.alterTable('place', function (table) {
table.string('messageboard_intro', 255).alter();
});
console.log('Changing messageboard_intro to varchar(255)');
}
}

21 changes: 21 additions & 0 deletions api/db/migrations/20231113234406_change_transaction_reason_type.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Knex } from 'knex';

export async function up(knex: Knex): Promise<void> {
if(await knex.schema.hasColumn('transaction', 'reason')) {
await knex.schema.alterTable('transaction', function (table) {
table.string('reason', 50).notNullable().alter();
});
}
}

export async function down(knex: Knex): Promise<void> {
await knex.schema.alterTable('transaction', function (table) {
table.enu('reason', [
'daily-credit',
'home-purchase',
'item-purchase',
'member-to-member',
'system-to-member',
]).notNullable().alter();
});
}
70 changes: 70 additions & 0 deletions api/db/migrations/20231231203030_add_inbox_table.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import { Knex } from 'knex';

const COLLATE = 'utf8mb4_unicode_ci';
function applyCommon(table: Knex.CreateTableBuilder) {
table.collate(COLLATE);
table.increments('id').primary();
table.timestamps(false, true);
}

export async function up(knex: Knex): Promise<void> {
if (!await knex.schema.hasTable('inbox')) {
await knex.schema.createTable('inbox', table => {
console.log('Creating inbox table');
applyCommon(table);

table.integer('place_id', 10)
.unsigned()
.notNullable();
table.foreign('place_id')
.references('place.id');

table.integer('member_id')
.unsigned()
.notNullable();
table.foreign('member_id')
.references('member.id');

table.text('subject')
.notNullable();

table.text('message')
.notNullable();

table.integer('parent_id', 11)
.defaultTo(0)
.unsigned();

table.tinyint('reply', 1)
.defaultTo(0)
.notNullable();

table.tinyint('status', 1)
.defaultTo(1)
.notNullable();
});

if (!await knex.schema.hasColumn('place', 'inbox_intro')) {
console.log('Adding column inbox_intro to table place');
await knex.schema.alterTable('place', table => {
table.text('inbox_intro');
});
}
}
}


export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable('inbox')) {
console.log('Dropping inbox table');
await knex.schema.dropTable('inbox');
}

if (await knex.schema.hasColumn('place','inbox_intro')) {
console.log('Removing column inbox_intro from table place');
await knex.schema.alterTable('place', table => {
table.dropColumn('inbox_intro');
});
}
}

43 changes: 43 additions & 0 deletions api/db/migrations/20240102165858_add_ban_table.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import {knex, Knex} from 'knex';

const COLLATE = 'utf8mb4_unicode_ci';
function applyCommon(table: Knex.CreateTableBuilder) {
table.collate(COLLATE);
table.increments('id').primary();
table.timestamps(false, true);
}

export async function up(knex: Knex): Promise<void> {
if (!await knex.schema.hasTable('ban')){
await knex.schema.createTable('ban', (table) => {
console.log('Creating ban table');
applyCommon(table);

table.integer('status')
.defaultTo(1);

table.integer('ban_member_id')
.notNullable();

table.date('end_date')
.notNullable();

table.enu('type', ['jail', 'full'])
.defaultTo('jail')
.notNullable();

table.integer('assigner_member_id')
.notNullable();

table.text('reason').notNullable();
});
}
}


export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasTable('ban')){
await knex.schema.dropTable('ban');
}
}

23 changes: 23 additions & 0 deletions api/db/migrations/20240104192042_object_directory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { Knex } from 'knex';

export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasColumn('object', 'directory'))) {
console.log(`Adding directory, price column to object table`);
await knex.schema.alterTable('object', table => {
table.string('directory');
table.integer('price');
table.timestamp('mall_expiration').nullable();
});
}
}

export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasColumn('object', 'directory')) {
console.log(`Dropping directory, price field from object table`);
await knex.schema.alterTable('object', table => {
table.dropColumn('directory');
table.dropColumn('price');
table.dropColumn('mall_expiration');
});
}
}
13 changes: 13 additions & 0 deletions api/db/migrations/20240110203223_drop_place_fk_object_instances.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Knex } from 'knex';

export async function up(knex: Knex): Promise<void> {
return knex.schema.table('object_instance', function (table) {
table.dropForeign('place_id');
});
}

export async function down(knex: Knex): Promise<void> {
return knex.schema.table('object_instance', function (table) {
table.foreign('place_id').references('place.id');
});
}
Loading