Med GraphQL är det möjligt att skapa ett schema i OptiSigns, sedan lägga till objekt i det och tilldela värden till dem. Vi kommer att gå igenom var och en av dessa steg i tur och ordning.
1. Skapa ett nytt schema
För att skapa ett nytt schema behöver vi en specifik Mutation:
mutation CreateSchedule($payload: ScheduleInput!, $teamId: String)
{saveSchedule (payload:$payload,teamId:$teamId){
_id,
accountId,
createdAt,
createdBy,
groupId,
lastTeamId,
lastUpdatedBy,
lastUpdatedDate,
name,
path,
tags,
teamId
}
}
Variabler:
{"payload": {
"groupId":
"Name":
"Path":
"Tags":
"teamId":
}
}
Denna Mutation skapar ett helt nytt schema, som du kan se från data till höger:
2. Uppdatera scheman
Samma Mutation kan användas för att uppdatera själva schemat. För att uppdatera schemat måste du ange värdet "_id" i nyttolasten:
Genom att göra detta uppdateras det befintliga schemat.
3. Lägga till tillgångar eller spellistor i schemat
Nu vill vi lägga till ett objekt i schemat. För det behöver vi en annan Mutation:
mutation addScheduleItem($force:Boolean,$payload: AddScheduleItemInput!, $teamId: String!){
addScheduleItem(force:$force,payload:$payload,teamId:$teamId){
_id,
name,
assetId,
teamId,
playlistId,
repeatObject{
id,
repeat,
text,
type,
rrule
},
range{startDate,endDate},
documentDuration
}
}
Variabler:
{"force": false,
"payload": {"scheduleId": "",
"assetId": "",
"playlistId":"",
"type": "",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"teamId": ""
}
När värdena är korrekt konfigurerade ska dina data visas så här:
4. Redigera schemaobjekt
När du har skapat ett schema och lagt till ett objekt i det är det möjligt att redigera dessa objekt. Detta kräver ännu en Mutation:
mutation updateScheduleItem($force:Boolean,$payload: UpdateScheduleItemInput!, $scope: APPLY_SCHEDULE_ITEM_SCOPES!){
updateScheduleItem(force:$force,payload:$payload,scope:$scope){
_id,
name,
assetId,
teamId,
playlistId,
repeatObject{
id,
repeat,
text,
type,
rrule
},
range{startDate,endDate},
documentDuration
}
}
Med denna mutation anger vi dessa variabler:
{"force": false,
"payload": {"_id": "",
"assetId": "",
"playlistId":"",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"scope": ""
}
Här har vi ändrat upprepningsfrekvensen från dagligen till veckovis, och startdatumet från 18 december 2024 till 20 december 2024. Detta återspeglas i de hämtade data:
Föregående artikel - Handledning: Skapa eller uppdatera webbtillgångar med GraphQL
Nästa artikel - Sidnumrering