27.10.2021 - 10:45 Uhr
Anmerkung:
Die Prüfung von AXC-1268 hat noch diverse Änderungsbedarfe ergeben.
Diese befinden sich z.Zt. in der Umsetzung.
AXC-1297 - Entfernung aus GraphQL-Schema
keepMissingDetailsOnUpdate (wird für REST-API via Adapter-Pattern stets auf true gesetzt)
isConvertedToEntity
AXC-1268 - AnswerSpot und RequestSpot Implementiert
GraphQL-Schema:
RequestSpot:
type RequestSpot {
requestSpotObjectType: RequestSpotObjectType!
answerSpotId: Id
state: SpotState!
spotType: SpotType!
spotRotation: SpotRotation!
ndem: Int!
comment: String
advertisingTypeKey: Long
advertisingTypeText: String
blockInformationId: Id
blockInformation: BlockInformation
spotPlacement: SpotPlacement
priceRateIndividual: Boolean!
priceRate: CurrencyData
priceGross: CurrencyData
priceNet: CurrencyData
freeSpot: FreeSpot!
priceCalcDetails: [PriceCalcDetail]
poolMemberMissings: [PoolMemberMissing]
requestId: Id!
requestSpotParentId: Id
requestSpotChilds: [RequestSpot]
dspKey: String!
action: RequestSpotAction!
actionAnswerSpotId: Id
sspKey: String
timeBegin: DateTime!
timeEnd: DateTime!
originalTimeBegin: DateTime!
originalTimeEnd: DateTime!
tolerance: Int!
ndemIndex: Int!
length: Int!
lengthOtc: Int!
periodBegin: DateTime
periodEnd: DateTime
weekdaysAllowed: [Weekday]
count: Int
flex: Boolean
date: DateTime
lastChangeAccountId: Id!
lastChangeDate: DateTime!
rowVersion: [Byte!]
id: Id!
}
AnswerSpot:
type AnswerSpot {
answerSpotObjectType: AnswerSpotObjectType!
answerSpotId: Id
state: SpotState!
spotType: SpotType!
spotRotation: SpotRotation!
ndem: Int!
comment: String
advertisingTypeKey: Long
advertisingTypeText: String
blockInformationId: Id
blockInformation: BlockInformation
spotPlacement: SpotPlacement
priceRateIndividual: Boolean!
priceRate: CurrencyData
priceGross: CurrencyData
priceNet: CurrencyData
freeSpot: FreeSpot!
priceCalcDetails: [PriceCalcDetail]
poolMemberMissings: [PoolMemberMissing]
answerId: Id!
sspKey: String!
broadcastDate: DateTime
deliveryState: DeliveryState!
answerSpotParentId: Id
answerSpotChilds: [AnswerSpot]
broadcasts: [Broadcast]
timeBegin: DateTime!
timeEnd: DateTime!
originalTimeBegin: DateTime!
originalTimeEnd: DateTime!
tolerance: Int!
ndemIndex: Int!
length: Int!
lengthOtc: Int!
periodBegin: DateTime
periodEnd: DateTime
weekdaysAllowed: [Weekday]
count: Int
flex: Boolean
date: DateTime
lastChangeAccountId: Id!
lastChangeDate: DateTime!
rowVersion: [Byte!]
id: Id!
}
Queries/Mutations:
RequestSpot:
Für Buyer:
createRequestSpot,
updateRequestSpot,
deleteRequestSpot,
requestSpot (= GET by Id),
findRequestSpots
Für Seller:
requestSpot (= GET by Id),
findRequestSpots
AnswerSpot:
Für Buyer:
answerSpot (= GET by Id),
findAnswerSpots
Für Seller:
createAnswerSpot,
updateAnswerSpot,
deleteAnswerSpot,
answerSpot (= GET by Id),
findAnswerSpots
Restriktionen:
(Request/Answer-Spot-)AudioBookingPlan (d.h. RequestSpotObjectType = RequestSpotObjectType.RequestSpotAudioBookingPlan):
Für die folgenden Felder dürfen keine Werte übergeben/eingegeben werden: Date
Ansonsten wird eine entsprechende ObpExceptionArgumentParameterInvalidInDataContext-Ausnahme geworfen:
Ansonsten (analog zu AudioBookingPlan) wird eine entsprechende ObpExceptionArgumentParameterInvalidInDataContext-Ausnahme geworfen.