tududi/backend/models/calendar_token.js
Chris 03f38f05dc
Setup intelligence (#84)
* Add next suggestions and remove console logs

* Add pomodoro timer

* Add pomodoro switch in settings

* Fix pomodoro setting

* Add timezones to settings

* Fix an issue with password reset

* Cleanup

* Sort tags alphabetically

* Clean up today's view

* Add an indicator for repeatedly added to today

* Refactor tags

* Add due date today item

* Move recurrence to the subtitle area

* Fix today layout

* Add a badge to Inbox items

* Move inbox badge to sidebar

* Add quotes and progress bar

* Add translations for quotes

* Fix test issues

* Add helper script for docker local

* Set up overdue tasks

* Add  linux/arm/v7 build to deploy script

* Add  linux/arm/v7 build to deploy script pt2

* Fix an issue with helmet and SSL

* Add volume db persistence

* Fix cog icon issues
2025-06-27 14:02:18 +03:00

77 lines
No EOL
1.4 KiB
JavaScript

const { DataTypes } = require('sequelize');
const sequelize = require('../config/database');
const CalendarToken = sequelize.define('CalendarToken', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
user_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'Users',
key: 'id'
},
onDelete: 'CASCADE'
},
provider: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: 'google'
},
access_token: {
type: DataTypes.TEXT,
allowNull: false
},
refresh_token: {
type: DataTypes.TEXT,
allowNull: true
},
token_type: {
type: DataTypes.STRING,
defaultValue: 'Bearer'
},
expires_at: {
type: DataTypes.DATE,
allowNull: true
},
scope: {
type: DataTypes.TEXT,
allowNull: true
},
connected_email: {
type: DataTypes.STRING,
allowNull: true
},
created_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
updated_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'calendar_tokens',
timestamps: true,
createdAt: 'created_at',
updatedAt: 'updated_at',
indexes: [
{
unique: true,
fields: ['user_id', 'provider']
}
]
});
// Associations
CalendarToken.associate = function(models) {
CalendarToken.belongsTo(models.User, {
foreignKey: 'user_id',
as: 'user'
});
};
module.exports = CalendarToken;