await Parse().initialize(
keyParseApplicationId,
keyParseServerUrl,
debug: keyDebug,
liveQueryUrl: keyParseLiveServerUrl,
autoSendSessionId: true,
registeredSubClassMap: <String, ParseObjectConstructor>{
Pantry.keyTableName: () => Pantry(),
Section.keyTableName: () => Section(),
Item.keyTableName: () => Item(),
},
parseUserConstructor: (username, password, emailAddress,
{client, debug, sessionToken}) =>
User(username, password, emailAddress),
);
라이브쿼리가 안된다면, config 설정을 확인하자.
"liveQuery": {
"classNames": ["Pantry", "PantryItem", "PantrySection", "Test", "TestAgain"]
}
데이터가 없는 경우는
var queryBuilder = QueryBuilder<Pantry>(Pantry())
..whereEqualTo(Pantry.keyOwner, user.objectId);
var response = await queryBuilder.query();
if (response.success) {
if (response.results == null) {
// 새로운 객체를 생성한다.
var pantry = Pantry()..set(Pantry.keyOwner, user.objectId);
pantry.save();
return [pantry];
}
return (response.results as List<ParseObject>).cast<Pantry>();
}
에러 발생 코드
User? user = await ParseUser.currentUser()
수정 코드
User? user = await ParseUser.currentUser(customUserObject: User.clone());