Files
outline/server/models/ApiKey.ts
Tom Moor 15b1069bcc chore: Move to Typescript (#2783)
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously.

closes #1282
2021-11-29 06:40:55 -08:00

38 lines
828 B
TypeScript

import randomstring from "randomstring";
import { DataTypes, sequelize } from "../sequelize";
const ApiKey = sequelize.define(
"apiKey",
{
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true,
},
name: DataTypes.STRING,
secret: {
type: DataTypes.STRING,
unique: true,
},
},
{
paranoid: true,
hooks: {
// @ts-expect-error ts-migrate(7006) FIXME: Parameter 'key' implicitly has an 'any' type.
beforeValidate: (key) => {
key.secret = randomstring.generate(38);
},
},
}
);
// @ts-expect-error ts-migrate(7006) FIXME: Parameter 'models' implicitly has an 'any' type.
ApiKey.associate = (models) => {
ApiKey.belongsTo(models.User, {
as: "user",
foreignKey: "userId",
});
};
export default ApiKey;