diff --git a/app/enums/visibility.ts b/app/enums/visibility.ts new file mode 100644 index 0000000..862b3e0 --- /dev/null +++ b/app/enums/visibility.ts @@ -0,0 +1,4 @@ +export enum Visibility { + PUBLIC = 'PUBLIC', + PRIVATE = 'PRIVATE', +} diff --git a/app/models/collection.ts b/app/models/collection.ts index 6576085..2e61377 100644 --- a/app/models/collection.ts +++ b/app/models/collection.ts @@ -3,6 +3,7 @@ import Link from '#models/link'; import User from '#models/user'; import { belongsTo, column, manyToMany } from '@adonisjs/lucid/orm'; import type { BelongsTo, ManyToMany } from '@adonisjs/lucid/types/relations'; +import { Visibility } from '../enums/visibility.js'; export default class Collection extends AppBaseModel { @column() @@ -26,8 +27,3 @@ export default class Collection extends AppBaseModel { @manyToMany(() => Link) declare links: ManyToMany; } - -export enum Visibility { - PUBLIC = 'PUBLIC', - PRIVATE = 'PRIVATE', -} diff --git a/config/shield.ts b/config/shield.ts index 229235d..8d09cf9 100644 --- a/config/shield.ts +++ b/config/shield.ts @@ -16,7 +16,7 @@ const shieldConfig = defineConfig({ * to learn more */ csrf: { - enabled: true, + enabled: false, exceptRoutes: [], enableXsrfCookie: true, methods: ['POST', 'PUT', 'PATCH', 'DELETE'], diff --git a/database/migrations/1714253983443_create_collections_table.ts b/database/migrations/1714253983443_create_collections_table.ts index 8c41068..db831a3 100644 --- a/database/migrations/1714253983443_create_collections_table.ts +++ b/database/migrations/1714253983443_create_collections_table.ts @@ -1,5 +1,5 @@ -import { Visibility } from '#models/collection'; import { BaseSchema } from '@adonisjs/lucid/schema'; +import { Visibility } from '../../app/enums/visibility.js'; export default class extends BaseSchema { protected tableName = 'collections'; @@ -12,7 +12,7 @@ export default class extends BaseSchema { table.string('name', 254).notNullable(); table.string('description', 254); - table.uuid('next_id').notNullable(); + table.uuid('next_id').defaultTo(null); table.uuid('author_id').notNullable(); table.enum('visibility', Object.values(Visibility), { useNative: true,