import Base from './base.js'; import SamlAuthProvider from './saml-auth-provider.ee.js'; import User from './user.js'; class Identity extends Base { static tableName = 'identities'; static jsonSchema = { type: 'object', required: ['providerId', 'remoteId', 'userId', 'providerType'], properties: { id: { type: 'string', format: 'uuid' }, userId: { type: 'string', format: 'uuid' }, remoteId: { type: 'string', minLength: 1 }, providerId: { type: 'string', format: 'uuid' }, providerType: { type: 'string', enum: ['saml'] }, }, }; static relationMappings = () => ({ user: { relation: Base.BelongsToOneRelation, modelClass: User, join: { from: 'users.id', to: 'identities.user_id', }, }, samlAuthProvider: { relation: Base.BelongsToOneRelation, modelClass: SamlAuthProvider, join: { from: 'saml_auth_providers.id', to: 'identities.provider_id', }, }, }); } export default Identity;