# parse
- [[parse cast]]
- [[parse server]]
- [[parse error]]
- https://github.com/hatemhosny/parse-starter
## 초기화
await Parse().initialize(
keyParseApplicationId,
keyParseServerUrl,
debug: keyDebug,
liveQueryUrl: keyParseLiveServerUrl,
autoSendSessionId: true,
registeredSubClassMap: {
Pantry.keyTableName: () => Pantry(),
Section.keyTableName: () => Section(),
Item.keyTableName: () => Item(),
},
parseUserConstructor: (username, password, emailAddress,
{client, debug, sessionToken}) =>
User(username, password, emailAddress),
);
## live query
라이브쿼리가 안된다면, config 설정을 확인하자.
"liveQuery": {
"classNames": ["Pantry", "PantryItem", "PantrySection", "Test", "TestAgain"]
}
## QueryBuilder
데이터가 없는 경우는
var queryBuilder = QueryBuilder(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).cast();
}
## 'ParseUser' is not a subtype of type 'User'
에러 발생 코드
User? user = await ParseUser.currentUser()
수정 코드
User? user = await ParseUser.currentUser(customUserObject: User.clone());