type FuzzyDate { Operator: String Day: Int Month: Int Year: Int Comment: String } type User { ID: Int! Name: String! Email: String Password: String MaintainerOf: UserRecords uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type UserRecords { ReleaseIDs: [Int] GroupIDs: [Int] ScenerIDs: [Int] HandleIDs: [Int] EventIDs: [Int] BBSIDs: [Int] SIDIDs: [Int] } type Release { ID: Int! Name: String! AKA: String Type: String GfxType: String Rating: Float ReleaseDate: [FuzzyDate] ReleasedAt: Int Achievement: ReleaseAchievement ReleasedBy: ReleaseGroupsHandles Credits: [ReleaseCredit] Website: String ScreenShot: String DownloadLinks: [ReleaseDownload] OtherLinks: [ReleaseLink] Comments: [ReleaseComment] SIDIDs: [Int] Groups: [Group] Sceners: [Scener] Handles: [Handle] Events: [Event] SIDs: [SID] Tags: [String] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type ReleaseAchievement { Compo: String Place: Int } type ReleaseGroupsHandles { GroupIDs: [Int] HandleIDs: [Int] } type ReleaseCredit { CreditType: String! HandleID: Int! } type ReleaseLink { Title: String Link: String! CounterLink: String! Clicks: Int } type ReleaseDownload { CounterLink: String! Downloads: Int Filename: String Link: String! Status: String crc32: String } type ReleaseComment { Summary: [ReleaseCommentData] Trivia: [ReleaseCommentData] Goofs: [ReleaseCommentData] HiddenPart: [ReleaseCommentData] ProductionNote: [ReleaseCommentData] UserComment: [ReleaseCommentData] } type ReleaseCommentData { Date: Int! ScenerID: Int! Text: String! } type Group { ID: Int! Name: String! AKA: String Short: String Rating: Float Trivia: String BaseCountry: String IsCoOp: Boolean FoundDate: [FuzzyDate] DissolveDate: [FuzzyDate] Website: String Grouptypes: [String] Slogan: [String] UserComment: [GroupCommentData] ReleaseIDs: [Int] Members: [GroupMember] FounderHandleIDs: [Int] OrganizedEventIDs: [Int] BBSIDs: [Int] Releases: [Release] Sceners: [Scener] Handles: [Handle] Events: [Event] BBSs: [BBS] Tags: [String] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type GroupCommentData { Date: Int! ScenerID: Int! Text: String! } type GroupMember { GroupID: Int HandleID: Int Profession: [String] JoinDate: [FuzzyDate] LeaveDate: [FuzzyDate] Status: String } type Scener { ID: Int! RegisterdDate: String Country: String BirthDate: [FuzzyDate] DeathDate: [FuzzyDate] HandleIDs: [Int] Handles: [Handle] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type Handle { ID: Int! Handle: String! CurrentlyUsedHandle: Boolean HandleStory: String FreelanceFunctions: [String] MemberOf: [HandleGroup] Credits: [HandleCredit] FoundedGroupIDs: [Int] OrganizedEventIDs: [Int] AttendedEventIDs: [Int] ScenerIDs: [Int] Releases: [Release] Groups: [Group] Sceners: [Scener] Events: [Event] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type HandleGroup { GroupID: Int! MemberStats: GroupMember } type HandleCredit { CreditType: String! ReleaseID: Int! } type Event { ID: Int! Name: String! EventType: [String] AKA: String Tagline: String StartDate: [FuzzyDate] EndDate: [FuzzyDate] Address: String City: String State: String Zip: String Country: String Website: String OrganizerGroup: Group Compo: [EventCompo] PartyReport: [EventReport] UserComment: [EventComment] Organizers: EventOrganizers Releases: [Release] Groups: [Group] Handles: [Handle] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type EventCompo { Type: String ReleaseIDs: [Int] } type EventReport { HandleID: Int! WrittenBy: String Date: Int Headline: String Text: String } type EventComment { HandleID: Int! Date: Int! Text: String! } type EventOrganizers { GroupIDs: [Int] HandleIDs: [Int] } type BBS { ID: Int! Name: String! Short: String Trivia: String OnlinePeriod: [BBSOnlinePeriod] Phone: String Host: String Port: Int City: String State: String Country: String Sysop: [BBSSysop] Status: String GroupIDs: [Int] UserHandleIDs: [Int] Groups: [Group] Handles: [Handle] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type BBSOnlinePeriod { StartDate: [FuzzyDate] EndDate: [FuzzyDate] } type BBSSysop { Type: String HandleID: Int } type SID { ID: Int! HVSCPath: String Name: String Author: String Released: String LoadAddr: Int InitAddr: Int PlayAddr: Int NOSongs: Int DefaultSong: Int SIDModel: String ClockSpeed: String DataSize: Int ReleaseIDs: [Int] Releases: [Release] uuid: String dateCreated: String dateUpdated: String deleted: Boolean dateDeleted: String } type Query { getRelease(id: Int!) : Release getGroup(id: Int!) : Group getScener(id: Int!) : Scener getHandle(id: Int!) : Handle getEvent(id: Int!) : Event getBBS(id: Int!) : BBS getSID(id: Int!) : SID } type Mutation { createRelease(id: Int!) : Release createGroup(id: Int!) : Group createScener(id: Int!) : Scener createHandle(id: Int!) : Handle createEvent(id: Int!) : Event createBBS(id: Int!) : BBS createSID(id: Int!) : SID updateRelease(id: Int!) : Release updateGroup(id: Int!) : Group updateScener(id: Int!) : Scener updateHandle(id: Int!) : Handle updateEvent(id: Int!) : Event updateBBS(id: Int!) : BBS updateSID(id: Int!) : SID deleteRelease(id: Int!) : Release deleteGroup(id: Int!) : Group deleteScener(id: Int!) : Scener deleteHandle(id: Int!) : Handle deleteEvent(id: Int!) : Event deleteBBS(id: Int!) : BBS deleteSID(id: Int!) : SID }