fix: conflict

This commit is contained in:
Aslam H
2024-09-28 19:54:22 +07:00
parent 63f244d9dd
commit 9393dd45a5

View File

@@ -8,81 +8,78 @@
// open issue about it: https://github.com/gardencmp/jazz/issues/44 // open issue about it: https://github.com/gardencmp/jazz/issues/44
// TODO: figure out how to do default values, e.g. `GlobalLink.protocol` should have default value `https` so we don't have to supply it every time in code.. // TODO: figure out how to do default values, e.g. `GlobalLink.protocol` should have default value `https` so we don't have to supply it every time in code..
// TODO: can jazz support vector fields? e.g. `GlobalLinkAiSummary.vectorContent`, would be nice to store website content as vector for semantic search // TODO: can jazz support vector fields? e.g. `GlobalLinkAiSummary.vectorContent`, would be nice to store website content as vector for semantic search
import { CoMap, co, Account, Profile } from 'jazz-tools' import { CoMap, co, Account, Profile } from "jazz-tools"
import { PersonalPageLists } from './personal-page' import { PersonalPageLists } from "./personal-page"
import { PersonalLinkLists } from './personal-link' import { PersonalLinkLists } from "./personal-link"
import { ListOfTopics } from './master/topic' import { ListOfTopics } from "./master/topic"
import { ListOfTasks } from './tasks' import { ListOfTasks } from "./tasks"
import { JournalEntryLists } from './journal' import { JournalEntryLists } from "./journal"
declare module 'jazz-tools' { declare module "jazz-tools" {
interface Profile { interface Profile {
avatarUrl?: string avatarUrl?: string
} }
} }
export class UserRoot extends CoMap { export class UserRoot extends CoMap {
name = co.string name = co.string
username = co.string username = co.string
avatar = co.optional.string avatar = co.optional.string
website = co.optional.string website = co.optional.string
bio = co.optional.string bio = co.optional.string
is_public = co.optional.boolean is_public = co.optional.boolean
personalLinks = co.ref(PersonalLinkLists) personalLinks = co.ref(PersonalLinkLists)
personalPages = co.ref(PersonalPageLists) personalPages = co.ref(PersonalPageLists)
topicsWantToLearn = co.ref(ListOfTopics) topicsWantToLearn = co.ref(ListOfTopics)
topicsLearning = co.ref(ListOfTopics) topicsLearning = co.ref(ListOfTopics)
topicsLearned = co.ref(ListOfTopics) topicsLearned = co.ref(ListOfTopics)
tasks = co.ref(ListOfTasks) tasks = co.ref(ListOfTasks)
journalEntries = co.ref(JournalEntryLists) journalEntries = co.ref(JournalEntryLists)
// TODO: maybe should be in another place? // TODO: maybe should be in another place?
connectedFolderPath = co.optional.string connectedFolderPath = co.optional.string
} }
export class LaAccount extends Account { export class LaAccount extends Account {
profile = co.ref(Profile) profile = co.ref(Profile)
root = co.ref(UserRoot) root = co.ref(UserRoot)
migrate( migrate(this: LaAccount, creationProps?: { name: string; avatarUrl?: string }) {
this: LaAccount, // since we dont have a custom AuthProvider yet.
creationProps?: { name: string; avatarUrl?: string } // and still using the DemoAuth. the creationProps will only accept name.
) { // so just do default profile create provided by jazz-tools
// since we dont have a custom AuthProvider yet. super.migrate(creationProps)
// and still using the DemoAuth. the creationProps will only accept name.
// so just do default profile create provided by jazz-tools
super.migrate(creationProps)
if (!this._refs.root && creationProps) { if (!this._refs.root && creationProps) {
this.root = UserRoot.create( this.root = UserRoot.create(
{ {
name: creationProps.name, name: creationProps.name,
username: creationProps.name, username: creationProps.name,
avatar: creationProps.avatarUrl || '', avatar: creationProps.avatarUrl || "",
website: '', website: "",
bio: '', bio: "",
is_public: false, is_public: false,
connectedFolderPath: '', connectedFolderPath: "",
personalLinks: PersonalLinkLists.create([], { owner: this }), personalLinks: PersonalLinkLists.create([], { owner: this }),
personalPages: PersonalPageLists.create([], { owner: this }), personalPages: PersonalPageLists.create([], { owner: this }),
topicsWantToLearn: ListOfTopics.create([], { owner: this }), topicsWantToLearn: ListOfTopics.create([], { owner: this }),
topicsLearning: ListOfTopics.create([], { owner: this }), topicsLearning: ListOfTopics.create([], { owner: this }),
topicsLearned: ListOfTopics.create([], { owner: this }), topicsLearned: ListOfTopics.create([], { owner: this }),
tasks: ListOfTasks.create([], { owner: this }), tasks: ListOfTasks.create([], { owner: this }),
journalEntries: JournalEntryLists.create([], { owner: this }) journalEntries: JournalEntryLists.create([], { owner: this })
}, },
{ owner: this } { owner: this }
) )
} }
} }
} }
export * from './master/topic' export * from "./master/topic"
export * from './personal-link' export * from "./personal-link"
export * from './personal-page' export * from "./personal-page"