Update schema.graphql

Added Date type to handle arrays of fuzzy dates.
Added User type and UserRecords types.
This commit is contained in:
Jaime Idolpx 2022-06-06 18:33:39 -05:00 committed by GitHub
parent ae2594c9d7
commit 5ec35a3c21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,40 @@
type Date {
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 { type Release {
ID: Int! ID: Int!
Name: String! Name: String!
@ -7,27 +42,34 @@ type Release {
Type: String Type: String
GfxType: String GfxType: String
Rating: Float Rating: Float
ReleaseDay: String ReleaseDate: [Date]
ReleaseMonth: String
ReleaseYear: String
ReleasedAt: [Int] ReleasedAt: Int
Achievement: ReleaseAchievement Achievement: ReleaseAchievement
ReleasedBy: ReleaseGroupsHandles ReleasedBy: ReleaseGroupsHandles
Credits: [ReleaseCredit] Credits: [ReleaseCredit]
UsedSIDs: [Int]
Website: [String] Website: String
ScreenShot: [String] ScreenShot: String
DownloadLinks: [ReleaseDownload] DownloadLinks: [ReleaseDownload]
OtherLinks: [ReleaseLink] OtherLinks: [ReleaseLink]
Comments: [ReleaseComment] Comments: [ReleaseComment]
SIDIDs: [Int]
Groups: [Group] Groups: [Group]
Sceners: [Scener]
Handles: [Handle] Handles: [Handle]
Events: [Event] Events: [Event]
SIDs: [SID] SIDs: [SID]
Tags: [String] Tags: [String]
uuid: String
dateCreated: String
dateUpdated: String
deleted: Boolean
dateDeleted: String
} }
type ReleaseAchievement { type ReleaseAchievement {
@ -43,7 +85,6 @@ type ReleaseGroupsHandles {
type ReleaseCredit { type ReleaseCredit {
CreditType: String! CreditType: String!
HandleID: Int! HandleID: Int!
Handle: Handle
} }
type ReleaseLink { type ReleaseLink {
@ -72,8 +113,8 @@ type ReleaseComment {
} }
type ReleaseCommentData { type ReleaseCommentData {
Date: String! Date: Int!
HandleID: Int! ScenerID: Int!
Text: String! Text: String!
} }
@ -83,152 +124,203 @@ type Group {
Name: String! Name: String!
AKA: String AKA: String
Short: String Short: String
Rating: Float
Trivia: String Trivia: String
BaseCountry: String BaseCountry: String
FoundMonth: Int
FoundYear: Int FoundDate: [Date]
DissolveDate: [Date]
Website: String Website: String
Rating: Float Grouptypes: [String]
DissolveMonth: Int Slogan: [String]
DissolveYear: Int UserComment: [GroupCommentData]
GroupTypes: [String]
Slogon: [String]
ReleaseIDs: [Int] ReleaseIDs: [Int]
Members: [GroupMember]
FounderHandleIDs: [Int]
OrganizedEventIDs: [Int]
BBSIDs: [Int]
Releases: [Release] Releases: [Release]
Members: [GroupMember!]! Sceners: [Scener]
Handles: [Handle]
Events: [Event]
BBSs: [BBS]
Tags: [String] Tags: [String]
uuid: String
dateCreated: String
dateUpdated: String
deleted: Boolean
dateDeleted: String
}
type GroupCommentData {
Date: Int!
ScenerID: Int!
Text: String!
} }
type GroupMember { type GroupMember {
HandleID: Int! GroupID: Int
Handle: Handle! HandleID: Int
Profession: [String] Profession: [String]
JoinMonth: Int
JoinYear: Int JoinDate: [Date]
LeaveMonth: Int LeaveDate: [Date]
LeaveYear: Int
Status: String Status: String
} }
type Scener { type Scener {
ID: Int! ID: Int!
Login: String!
Password: String!
Handle: String
RegisterdDate: String RegisterdDate: String
Country: String Country: String
Trivia: String
BirthDate: [Date]
DeathDate: [Date]
HandleIDs: [Int] HandleIDs: [Int]
Handles: [Handle] Handles: [Handle]
BBSIDs: [Int]
BBSs: [BBS] uuid: String
Organized: [Int] dateCreated: String
Attended: [Int] dateUpdated: String
Events: [Event] deleted: Boolean
ReleaseIDs: [Int] dateDeleted: String
Releases: [Release]
} }
type Handle { type Handle {
ID: Int! ID: Int!
Handle: String! Handle: String!
CurrentlyUsedHandle: Int CurrentlyUsedHandle: Boolean
HandleStory: String HandleStory: String
FreelanceFunctions: [String] FreelanceFunctions: [String]
ScenerID: Int!
Scener: [Scener]
Credits: [HandleCredit]
EventIDs: [Int]
Events: [Event]
MemberOf: [HandleGroup] 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 { type HandleGroup {
GroupID: Int! GroupID: Int!
Group: Group
MemberStats: GroupMember MemberStats: GroupMember
} }
type HandleCredit { type HandleCredit {
CreditType: String! CreditType: String!
ReleaseID: Int! ReleaseID: Int!
Release: Release
} }
type Event { type Event {
ID: Int! ID: Int!
Name: String! Name: String!
EventType: [String] EventType: [String]
Tagline: String
AKA: String AKA: String
StartDay: Int Tagline: String
StartMonth: Int
StartYear: Int StartDate: [Date]
EndDay: Int EndDate: [Date]
EndMonth: Int
EndYear: Int
Address: String Address: String
City: String City: String
State: String State: String
Zip: String Zip: String
Country: String Country: String
Website: String Website: String
OrganizerGroup: Group OrganizerGroup: Group
Compos: [EventCompo] Compo: [EventCompo]
PartyReport: [EventReport] PartyReport: [EventReport]
UserComment: [EventComment] UserComment: [EventComment]
Sceners: [Scener] Organizers: EventOrganizers
Releases: [Release]
Groups: [Group]
Handles: [Handle]
uuid: String
dateCreated: String
dateUpdated: String
deleted: Boolean
dateDeleted: String
} }
type EventCompo { type EventCompo {
Type: String Type: String
ReleaseIDs: [Int] ReleaseIDs: [Int]
Releases: [Release]
} }
type EventReport { type EventReport {
ScenerID: Int! HandleID: Int!
SubmittedBy: Scener
WrittenBy: String WrittenBy: String
Date: String Date: Int
Headline: String Headline: String
Text: String Text: String
} }
type EventComment { type EventComment {
ScenerID: Int! HandleID: Int!
Date: String! Date: Int!
Text: String! Text: String!
} }
type EventOrganizers {
GroupIDs: [Int]
HandleIDs: [Int]
}
type BBS { type BBS {
ID: Int! ID: Int!
Name: String! Name: String!
Short: String Short: String
Trivia: String Trivia: String
OnlinePeriod: [BBSOnlinePeriod] OnlinePeriod: [BBSOnlinePeriod]
Phone: [String] Phone: String
Host: String Host: String
Port: Int Port: Int
City: String City: String
State: String State: String
Country: String Country: String
GroupID: Int
Group: Group Sysop: [BBSSysop]
Sysops: [BBSSysop]
Users: [BBSUser]
Status: String Status: String
GroupIDs: [Int]
UserHandleIDs: [Int]
Groups: [Group]
Handles: [Handle] Handles: [Handle]
uuid: String
dateCreated: String
dateUpdated: String
deleted: Boolean
dateDeleted: String
} }
type BBSOnlinePeriod { type BBSOnlinePeriod {
StartDay: Int StartDate: [Date]
StartMonth: Int EndDate: [Date]
StartYear: Int
EndDay: Int
EndMonth: Int
EndYear: Int
} }
type BBSSysop { type BBSSysop {
@ -236,9 +328,6 @@ type BBSSysop {
HandleID: Int HandleID: Int
} }
type BBSUser {
HandleID: Int
}
type SID { type SID {
ID: Int! ID: Int!
@ -254,17 +343,51 @@ type SID {
SIDModel: String SIDModel: String
ClockSpeed: String ClockSpeed: String
DataSize: Int DataSize: Int
ReleaseIDs: [Int] ReleaseIDs: [Int]
UsedIn: [Release]
Releases: [Release]
uuid: String
dateCreated: String
dateUpdated: String
deleted: Boolean
dateDeleted: String
} }
type Query { type Query {
release(id: Int!): Release getRelease(id: Int!) : Release
group(id: Int!): Group getGroup(id: Int!) : Group
scener(id: Int!): Scener getScener(id: Int!) : Scener
handle(id: Int!): Handle getHandle(id: Int!) : Handle
event(id: Int!): Event getEvent(id: Int!) : Event
bbs(id: Int!): BBS getBBS(id: Int!) : BBS
sid(id: Int!): SID 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
} }