Files
my-links/app/models/user.ts

34 lines
849 B
TypeScript

import Collection from '#models/collection';
import type { GoogleToken } from '@adonisjs/ally/types';
import { column, manyToMany } from '@adonisjs/lucid/orm';
import type { ManyToMany } from '@adonisjs/lucid/types/relations';
import AppBaseModel from './app_base_model.js';
export default class User extends AppBaseModel {
@column()
declare email: string;
@column()
declare name: string;
@column({ serializeAs: 'nickName' })
declare nickName: string; // public username
@column({ serializeAs: 'avatarUrl' })
declare avatarUrl: string;
@column()
declare isAdmin: boolean;
@column({ serializeAs: null })
declare token: GoogleToken;
@column({ serializeAs: null })
declare providerId: string;
@manyToMany(() => Collection, {
relatedKey: 'authorId',
})
declare collections: ManyToMany<typeof Collection>;
}