csdb-ng/server/schema.graphql
idolpx 22a6904638
Add files via upload
Add resolvers, globals and server script
2022-06-14 11:38:53 -05:00

394 lines
6.5 KiB
GraphQL

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
}