0

I want to use Auth User Table for other Tables. Specificly I want to use the ID for other Tables as Foreign key. It worked fine until I started Implementing OAuth2 into the chanel.dart. Now its thowing an error:

 Data Model Error: Relationship 'resourceOwner' on '_ManagedAuthToken' expects that just one 'ManagedObject' subclass uses a table definition that extends 'ResourceOwnerTableDefinition. But the following implementations were found: User,User. That's just how it is for now. 

I have no clue how to fix that. And I think it is pretty obvious, that if you have multiple users, with profiles, you should be able to take the userID as an foreign key, to show ownership.

EDIT:

The ManagedObject declarations look like these:

import 'package:lobBook_backend/lobBook_backend.dart';
import 'Book.dart';
import 'User.dart';

class _userBooksLikes extends ManagedObject<_userBooksLikes> implements _userBooksLikes{

}

class _userBooksLikes {

  @primaryKey
  int id;

  @Relate(#usrEvntSts, onDelete: DeleteRule.cascade)
  User user;

  @Relate(#usrEvntSts, onDelete: DeleteRule.cascade)
  Book book;

  @Column(indexed: true)
  int status;
}

import 'package:lobBook_backend/lobBook_backend.dart';

import '_userBooksLikes.dart';
import 'User.dart';

class Book extends ManagedObject<_Book> implements _Book {}

class _Book {
  @primaryKey
  int id;

  @Column(indexed: true)
  String name;

  @Column(indexed: true)
  DateTime date;

  @Relate(#ownedBooks)
  User user;

  ManagedSet<_userBooksLikes> usrEvntSts;

}

import 'package:aqueduct/managed_auth.dart';
import 'package:lobBook_backend/lobBook_backend.dart';
import 'package:lobBook_backend/model/_userBooksLikes.dart';
import 'Book.dart';

class User extends ManagedObject<_User> implements _User, ManagedAuthResourceOwner<_User> {}

class _User extends ResourceOwnerTableDefinition {

  ManagedSet<_userBooksLikes> usrEvntSts;

  ManagedSet<Book> ownedBooks;

}
CKWDani
  • 33
  • 7

0 Answers0