From 415673656c85d4becc1923e92022272f9645e433 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Tue, 1 Jul 2025 23:15:55 +0200 Subject: [PATCH] feat: add api key table --- .../20250701211053_create_api_keys_table.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/server/src/system/migrations/20250701211053_create_api_keys_table.js diff --git a/packages/server/src/system/migrations/20250701211053_create_api_keys_table.js b/packages/server/src/system/migrations/20250701211053_create_api_keys_table.js new file mode 100644 index 000000000..30523a3be --- /dev/null +++ b/packages/server/src/system/migrations/20250701211053_create_api_keys_table.js @@ -0,0 +1,27 @@ +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.up = function(knex) { + return knex.schema.createTable('api_keys', (table) => { + table.increments('id').primary(); + + table.bigInteger('tenant_id').unsigned().index().references('id').inTable('tenants'); + table.integer('user_id').unsigned().index().references('id').inTable('users'); + + table.string('name'); + table.text('key'); + + table.dateTime('expires_at').nullable(); + table.dateTime('revoked_at').nullable(); + table.timestamps(); + }); +}; + +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.down = function(knex) { + return knex.schema.dropTableIfExists('api_keys'); +};