diff --git a/kompassi-v2-frontend/src/__generated__/gql.ts b/kompassi-v2-frontend/src/__generated__/gql.ts index b9a1565cc..b80cb0b9f 100644 --- a/kompassi-v2-frontend/src/__generated__/gql.ts +++ b/kompassi-v2-frontend/src/__generated__/gql.ts @@ -106,10 +106,12 @@ type Documents = { "\n mutation DeleteProrgamFormMutation($input: DeleteSurveyInput!) {\n deleteSurvey(input: $input) {\n slug\n }\n }\n": typeof types.DeleteProrgamFormMutationDocument, "\n fragment EditProgramForm on FullSurveyType {\n slug\n title(lang: $locale)\n activeFrom\n activeUntil\n canRemove\n purpose\n\n languages {\n title\n language\n canRemove\n }\n }\n": typeof types.EditProgramFormFragmentDoc, "\n query EditProgramFormPage(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n ...EditProgramForm\n }\n }\n }\n }\n": typeof types.EditProgramFormPageDocument, + "\n fragment ProgramFormResponseEdit on FullResponseType {\n id\n revisionCreatedAt\n originalCreatedBy {\n fullName\n }\n values\n form {\n title\n description\n fields\n survey {\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n }\n": typeof types.ProgramFormResponseEditFragmentDoc, + "\n query ProgramFormResponseEditPage(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n ) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n purpose\n\n response(id: $responseId) {\n ...ProgramFormResponseEdit\n }\n }\n }\n }\n }\n": typeof types.ProgramFormResponseEditPageDocument, "\n fragment ProgramFormResponseDetail on FullResponseType {\n ...ResponseHistorySidebar\n\n values\n cachedDimensions\n\n form {\n description\n fields\n survey {\n title(lang: $locale)\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n\n canEdit(mode: ADMIN)\n canAccept\n canCancel\n canDelete\n }\n": typeof types.ProgramFormResponseDetailFragmentDoc, "\n query ProgramFormResponseDetail(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n slug\n name\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n title(lang: $locale)\n slug\n purpose\n\n dimensions(publicOnly: false) {\n ...DimensionValueSelect\n }\n\n response(id: $responseId) {\n ...ProgramFormResponseDetail\n }\n }\n }\n }\n }\n": typeof types.ProgramFormResponseDetailDocument, "\n fragment ProgramFormResponse on LimitedResponseType {\n id\n sequenceNumber\n revisionCreatedAt\n revisionCreatedBy {\n displayName\n }\n language\n values(keyFieldsOnly: true)\n cachedDimensions(keyDimensionsOnly: true)\n }\n": typeof types.ProgramFormResponseFragmentDoc, - "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n": typeof types.ProgramFormResponsesDocument, + "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n": typeof types.ProgramFormResponsesDocument, "\n mutation CreateProgramForm($input: CreateProgramFormInput!) {\n createProgramForm(input: $input) {\n survey {\n slug\n }\n }\n }\n": typeof types.CreateProgramFormDocument, "\n fragment OfferForm on FullSurveyType {\n slug\n title(lang: $locale)\n isActive\n activeFrom\n activeUntil\n countResponses\n purpose\n\n languages {\n language\n }\n }\n": typeof types.OfferFormFragmentDoc, "\n query ProgramFormsPage($eventSlug: String!, $locale: String) {\n profile {\n forms {\n surveys(relation: ACCESSIBLE) {\n ...ProfileSurvey\n }\n }\n }\n\n event(slug: $eventSlug) {\n slug\n name\n\n forms {\n surveys(\n includeInactive: true\n app: PROGRAM\n purpose: [DEFAULT, INVITE]\n ) {\n ...OfferForm\n }\n }\n }\n }\n": typeof types.ProgramFormsPageDocument, @@ -138,12 +140,12 @@ type Documents = { "\n fragment ProgramOffer on FullResponseType {\n id\n originalCreatedAt\n originalCreatedBy {\n fullName\n }\n sequenceNumber\n values(keyFieldsOnly: true)\n form {\n survey {\n title(lang: $locale)\n }\n language\n }\n cachedDimensions(publicOnly: false)\n programs {\n slug\n title\n }\n }\n": typeof types.ProgramOfferFragmentDoc, "\n fragment ProgramOfferDimension on FullDimensionType {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n ...DimensionValueSelect\n }\n": typeof types.ProgramOfferDimensionFragmentDoc, "\n query ProgramOffers(\n $eventSlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n event(slug: $eventSlug) {\n slug\n name\n program {\n programOffersExcelExportLink\n canDeleteProgramOffers\n\n listFilters: dimensions(isListFilter: true, publicOnly: false) {\n ...ProgramOfferDimension\n }\n\n keyDimensions: dimensions(keyDimensionsOnly: true, publicOnly: false) {\n ...ProgramOfferDimension\n }\n\n stateDimension {\n ...ProgramOfferDimension\n }\n\n countProgramOffers\n programOffers(filters: $filters) {\n ...ProgramOffer\n }\n }\n }\n }\n": typeof types.ProgramOffersDocument, - "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n }\n }\n }\n": typeof types.UpdateProgramPreferencesDocument, + "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n protectResponses\n }\n }\n }\n": typeof types.UpdateProgramPreferencesDocument, "\n mutation CreateMessageReplyTo($input: CreateMessageReplyToInput!) {\n createMessageReplyTo(input: $input) {\n replyTo {\n id\n }\n }\n }\n": typeof types.CreateMessageReplyToDocument, "\n mutation UpdateMessageReplyTo($input: UpdateMessageReplyToInput!) {\n updateMessageReplyTo(input: $input) {\n replyTo {\n id\n }\n }\n }\n": typeof types.UpdateMessageReplyToDocument, "\n mutation DeleteMessageReplyTo($input: DeleteMessageReplyToInput!) {\n deleteMessageReplyTo(input: $input) {\n replyToId\n }\n }\n": typeof types.DeleteMessageReplyToDocument, "\n fragment MessageReplyToRow on MessageReplyToType {\n id\n name\n email\n }\n": typeof types.MessageReplyToRowFragmentDoc, - "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n": typeof types.ProgramPreferencesDocument, + "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n protectResponses\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n": typeof types.ProgramPreferencesDocument, "\n query ProgramPreviewDetailQuery(\n $eventSlug: String!\n $programSlug: String!\n $locale: String\n ) {\n profile {\n program {\n scheduleItems(eventSlug: $eventSlug) {\n slug\n }\n }\n }\n\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n program(slug: $programSlug) {\n ...ProgramDetail\n adminDimensions: dimensions(publicOnly: false) {\n ...ProgramDimensionBadge\n }\n }\n }\n }\n }\n": typeof types.ProgramPreviewDetailQueryDocument, "\n query ProgramPreviewListQuery(\n $locale: String\n $eventSlug: String!\n $filters: [DimensionFilterInput!]\n $hidePast: Boolean\n ) {\n profile {\n program {\n scheduleItems(\n eventSlug: $eventSlug\n filters: $filters\n hidePast: $hidePast\n ) {\n ...ScheduleItemList\n }\n }\n }\n\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n calendarExportLink\n isSchedulePublic\n\n listFilters: dimensions(isListFilter: true) {\n ...DimensionFilter\n }\n\n scheduleItems(\n filters: $filters\n hidePast: $hidePast\n publicOnly: false\n ) {\n ...ScheduleItemList\n }\n }\n }\n }\n": typeof types.ProgramPreviewListQueryDocument, "\n query ProgramAdminReportsPage($eventSlug: String!, $locale: String) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n reports(lang: $locale) {\n ...Report\n }\n }\n }\n }\n": typeof types.ProgramAdminReportsPageDocument, @@ -187,7 +189,7 @@ type Documents = { "\n mutation UnsubscribeFromSurveyResponses($input: SubscriptionInput!) {\n unsubscribeFromSurveyResponses(input: $input) {\n success\n }\n }\n": typeof types.UnsubscribeFromSurveyResponsesDocument, "\n mutation DeleteSurveyResponses($input: DeleteSurveyResponsesInput!) {\n deleteSurveyResponses(input: $input) {\n countDeleted\n }\n }\n": typeof types.DeleteSurveyResponsesDocument, "\n fragment SurveyResponse on LimitedResponseType {\n id\n sequenceNumber\n revisionCreatedAt\n revisionCreatedBy {\n displayName\n }\n language\n values(keyFieldsOnly: true)\n cachedDimensions(keyDimensionsOnly: true)\n }\n": typeof types.SurveyResponseFragmentDoc, - "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n canRemoveResponses\n protectResponses\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n": typeof types.FormResponsesDocument, + "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n": typeof types.FormResponsesDocument, "\n query SurveySummary(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n event(slug: $eventSlug) {\n name\n\n forms {\n survey(slug: $surveySlug) {\n title(lang: $locale)\n fields(lang: $locale)\n summary(filters: $filters)\n countFilteredResponses: countResponses(filters: $filters)\n countResponses\n dimensions {\n ...DimensionFilter\n }\n }\n }\n }\n }\n": typeof types.SurveySummaryDocument, "\n mutation CreateSurvey($input: CreateSurveyInput!) {\n createSurvey(input: $input) {\n survey {\n slug\n }\n }\n }\n": typeof types.CreateSurveyDocument, "\n fragment Survey on FullSurveyType {\n slug\n title(lang: $locale)\n isActive\n activeFrom\n activeUntil\n countResponses\n\n languages {\n language\n }\n }\n": typeof types.SurveyFragmentDoc, @@ -334,10 +336,12 @@ const documents: Documents = { "\n mutation DeleteProrgamFormMutation($input: DeleteSurveyInput!) {\n deleteSurvey(input: $input) {\n slug\n }\n }\n": types.DeleteProrgamFormMutationDocument, "\n fragment EditProgramForm on FullSurveyType {\n slug\n title(lang: $locale)\n activeFrom\n activeUntil\n canRemove\n purpose\n\n languages {\n title\n language\n canRemove\n }\n }\n": types.EditProgramFormFragmentDoc, "\n query EditProgramFormPage(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n ...EditProgramForm\n }\n }\n }\n }\n": types.EditProgramFormPageDocument, + "\n fragment ProgramFormResponseEdit on FullResponseType {\n id\n revisionCreatedAt\n originalCreatedBy {\n fullName\n }\n values\n form {\n title\n description\n fields\n survey {\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n }\n": types.ProgramFormResponseEditFragmentDoc, + "\n query ProgramFormResponseEditPage(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n ) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n purpose\n\n response(id: $responseId) {\n ...ProgramFormResponseEdit\n }\n }\n }\n }\n }\n": types.ProgramFormResponseEditPageDocument, "\n fragment ProgramFormResponseDetail on FullResponseType {\n ...ResponseHistorySidebar\n\n values\n cachedDimensions\n\n form {\n description\n fields\n survey {\n title(lang: $locale)\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n\n canEdit(mode: ADMIN)\n canAccept\n canCancel\n canDelete\n }\n": types.ProgramFormResponseDetailFragmentDoc, "\n query ProgramFormResponseDetail(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n slug\n name\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n title(lang: $locale)\n slug\n purpose\n\n dimensions(publicOnly: false) {\n ...DimensionValueSelect\n }\n\n response(id: $responseId) {\n ...ProgramFormResponseDetail\n }\n }\n }\n }\n }\n": types.ProgramFormResponseDetailDocument, "\n fragment ProgramFormResponse on LimitedResponseType {\n id\n sequenceNumber\n revisionCreatedAt\n revisionCreatedBy {\n displayName\n }\n language\n values(keyFieldsOnly: true)\n cachedDimensions(keyDimensionsOnly: true)\n }\n": types.ProgramFormResponseFragmentDoc, - "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n": types.ProgramFormResponsesDocument, + "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n": types.ProgramFormResponsesDocument, "\n mutation CreateProgramForm($input: CreateProgramFormInput!) {\n createProgramForm(input: $input) {\n survey {\n slug\n }\n }\n }\n": types.CreateProgramFormDocument, "\n fragment OfferForm on FullSurveyType {\n slug\n title(lang: $locale)\n isActive\n activeFrom\n activeUntil\n countResponses\n purpose\n\n languages {\n language\n }\n }\n": types.OfferFormFragmentDoc, "\n query ProgramFormsPage($eventSlug: String!, $locale: String) {\n profile {\n forms {\n surveys(relation: ACCESSIBLE) {\n ...ProfileSurvey\n }\n }\n }\n\n event(slug: $eventSlug) {\n slug\n name\n\n forms {\n surveys(\n includeInactive: true\n app: PROGRAM\n purpose: [DEFAULT, INVITE]\n ) {\n ...OfferForm\n }\n }\n }\n }\n": types.ProgramFormsPageDocument, @@ -366,12 +370,12 @@ const documents: Documents = { "\n fragment ProgramOffer on FullResponseType {\n id\n originalCreatedAt\n originalCreatedBy {\n fullName\n }\n sequenceNumber\n values(keyFieldsOnly: true)\n form {\n survey {\n title(lang: $locale)\n }\n language\n }\n cachedDimensions(publicOnly: false)\n programs {\n slug\n title\n }\n }\n": types.ProgramOfferFragmentDoc, "\n fragment ProgramOfferDimension on FullDimensionType {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n ...DimensionValueSelect\n }\n": types.ProgramOfferDimensionFragmentDoc, "\n query ProgramOffers(\n $eventSlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n event(slug: $eventSlug) {\n slug\n name\n program {\n programOffersExcelExportLink\n canDeleteProgramOffers\n\n listFilters: dimensions(isListFilter: true, publicOnly: false) {\n ...ProgramOfferDimension\n }\n\n keyDimensions: dimensions(keyDimensionsOnly: true, publicOnly: false) {\n ...ProgramOfferDimension\n }\n\n stateDimension {\n ...ProgramOfferDimension\n }\n\n countProgramOffers\n programOffers(filters: $filters) {\n ...ProgramOffer\n }\n }\n }\n }\n": types.ProgramOffersDocument, - "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n }\n }\n }\n": types.UpdateProgramPreferencesDocument, + "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n protectResponses\n }\n }\n }\n": types.UpdateProgramPreferencesDocument, "\n mutation CreateMessageReplyTo($input: CreateMessageReplyToInput!) {\n createMessageReplyTo(input: $input) {\n replyTo {\n id\n }\n }\n }\n": types.CreateMessageReplyToDocument, "\n mutation UpdateMessageReplyTo($input: UpdateMessageReplyToInput!) {\n updateMessageReplyTo(input: $input) {\n replyTo {\n id\n }\n }\n }\n": types.UpdateMessageReplyToDocument, "\n mutation DeleteMessageReplyTo($input: DeleteMessageReplyToInput!) {\n deleteMessageReplyTo(input: $input) {\n replyToId\n }\n }\n": types.DeleteMessageReplyToDocument, "\n fragment MessageReplyToRow on MessageReplyToType {\n id\n name\n email\n }\n": types.MessageReplyToRowFragmentDoc, - "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n": types.ProgramPreferencesDocument, + "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n protectResponses\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n": types.ProgramPreferencesDocument, "\n query ProgramPreviewDetailQuery(\n $eventSlug: String!\n $programSlug: String!\n $locale: String\n ) {\n profile {\n program {\n scheduleItems(eventSlug: $eventSlug) {\n slug\n }\n }\n }\n\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n program(slug: $programSlug) {\n ...ProgramDetail\n adminDimensions: dimensions(publicOnly: false) {\n ...ProgramDimensionBadge\n }\n }\n }\n }\n }\n": types.ProgramPreviewDetailQueryDocument, "\n query ProgramPreviewListQuery(\n $locale: String\n $eventSlug: String!\n $filters: [DimensionFilterInput!]\n $hidePast: Boolean\n ) {\n profile {\n program {\n scheduleItems(\n eventSlug: $eventSlug\n filters: $filters\n hidePast: $hidePast\n ) {\n ...ScheduleItemList\n }\n }\n }\n\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n calendarExportLink\n isSchedulePublic\n\n listFilters: dimensions(isListFilter: true) {\n ...DimensionFilter\n }\n\n scheduleItems(\n filters: $filters\n hidePast: $hidePast\n publicOnly: false\n ) {\n ...ScheduleItemList\n }\n }\n }\n }\n": types.ProgramPreviewListQueryDocument, "\n query ProgramAdminReportsPage($eventSlug: String!, $locale: String) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n program {\n reports(lang: $locale) {\n ...Report\n }\n }\n }\n }\n": types.ProgramAdminReportsPageDocument, @@ -415,7 +419,7 @@ const documents: Documents = { "\n mutation UnsubscribeFromSurveyResponses($input: SubscriptionInput!) {\n unsubscribeFromSurveyResponses(input: $input) {\n success\n }\n }\n": types.UnsubscribeFromSurveyResponsesDocument, "\n mutation DeleteSurveyResponses($input: DeleteSurveyResponsesInput!) {\n deleteSurveyResponses(input: $input) {\n countDeleted\n }\n }\n": types.DeleteSurveyResponsesDocument, "\n fragment SurveyResponse on LimitedResponseType {\n id\n sequenceNumber\n revisionCreatedAt\n revisionCreatedBy {\n displayName\n }\n language\n values(keyFieldsOnly: true)\n cachedDimensions(keyDimensionsOnly: true)\n }\n": types.SurveyResponseFragmentDoc, - "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n canRemoveResponses\n protectResponses\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n": types.FormResponsesDocument, + "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n": types.FormResponsesDocument, "\n query SurveySummary(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n event(slug: $eventSlug) {\n name\n\n forms {\n survey(slug: $surveySlug) {\n title(lang: $locale)\n fields(lang: $locale)\n summary(filters: $filters)\n countFilteredResponses: countResponses(filters: $filters)\n countResponses\n dimensions {\n ...DimensionFilter\n }\n }\n }\n }\n }\n": types.SurveySummaryDocument, "\n mutation CreateSurvey($input: CreateSurveyInput!) {\n createSurvey(input: $input) {\n survey {\n slug\n }\n }\n }\n": types.CreateSurveyDocument, "\n fragment Survey on FullSurveyType {\n slug\n title(lang: $locale)\n isActive\n activeFrom\n activeUntil\n countResponses\n\n languages {\n language\n }\n }\n": types.SurveyFragmentDoc, @@ -852,6 +856,14 @@ export function graphql(source: "\n fragment EditProgramForm on FullSurveyType * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function graphql(source: "\n query EditProgramFormPage(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n ...EditProgramForm\n }\n }\n }\n }\n"): (typeof documents)["\n query EditProgramFormPage(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n ) {\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n ...EditProgramForm\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n fragment ProgramFormResponseEdit on FullResponseType {\n id\n revisionCreatedAt\n originalCreatedBy {\n fullName\n }\n values\n form {\n title\n description\n fields\n survey {\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n }\n"): (typeof documents)["\n fragment ProgramFormResponseEdit on FullResponseType {\n id\n revisionCreatedAt\n originalCreatedBy {\n fullName\n }\n values\n form {\n title\n description\n fields\n survey {\n slug\n profileFieldSelector {\n ...FullProfileFieldSelector\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql(source: "\n query ProgramFormResponseEditPage(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n ) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n purpose\n\n response(id: $responseId) {\n ...ProgramFormResponseEdit\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query ProgramFormResponseEditPage(\n $eventSlug: String!\n $surveySlug: String!\n $responseId: String!\n ) {\n event(slug: $eventSlug) {\n name\n slug\n timezone\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n purpose\n\n response(id: $responseId) {\n ...ProgramFormResponseEdit\n }\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -867,7 +879,7 @@ export function graphql(source: "\n fragment ProgramFormResponse on LimitedResp /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n"]; +export function graphql(source: "\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query ProgramFormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug, app: PROGRAM) {\n slug\n title(lang: $locale)\n purpose\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...ProgramFormResponse\n }\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -983,7 +995,7 @@ export function graphql(source: "\n query ProgramOffers(\n $eventSlug: Strin /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n }\n }\n }\n"): (typeof documents)["\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n }\n }\n }\n"]; +export function graphql(source: "\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n protectResponses\n }\n }\n }\n"): (typeof documents)["\n mutation UpdateProgramPreferences($input: UpdateProgramPreferencesInput!) {\n updateProgramPreferences(input: $input) {\n preferences {\n publicFrom\n isSchedulePublic\n protectResponses\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -1003,7 +1015,7 @@ export function graphql(source: "\n fragment MessageReplyToRow on MessageReplyT /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n"): (typeof documents)["\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n"]; +export function graphql(source: "\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n protectResponses\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n"): (typeof documents)["\n query ProgramPreferences($eventSlug: String!) {\n event(slug: $eventSlug) {\n name\n slug\n\n program {\n publicFrom\n isSchedulePublic\n protectResponses\n\n replyToAddresses {\n ...MessageReplyToRow\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -1179,7 +1191,7 @@ export function graphql(source: "\n fragment SurveyResponse on LimitedResponseT /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n canRemoveResponses\n protectResponses\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n canRemoveResponses\n protectResponses\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n"]; +export function graphql(source: "\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query FormResponses(\n $eventSlug: String!\n $surveySlug: String!\n $locale: String\n $filters: [DimensionFilterInput!]\n ) {\n profile {\n forms {\n surveys(eventSlug: $eventSlug, relation: SUBSCRIBED) {\n slug\n }\n }\n }\n event(slug: $eventSlug) {\n name\n slug\n\n forms {\n survey(slug: $surveySlug) {\n slug\n title(lang: $locale)\n anonymity\n\n fields(lang: $locale, keyFieldsOnly: true)\n dimensions {\n ...DimensionFilter\n ...ColoredDimensionTableCell\n }\n\n countResponses\n responsesDeletionStatus\n\n responses(filters: $filters) {\n ...SurveyResponse\n }\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/kompassi-v2-frontend/src/__generated__/graphql.ts b/kompassi-v2-frontend/src/__generated__/graphql.ts index 043dba2f4..a2e276e52 100644 --- a/kompassi-v2-frontend/src/__generated__/graphql.ts +++ b/kompassi-v2-frontend/src/__generated__/graphql.ts @@ -33,6 +33,20 @@ export enum Anonymity { Soft = 'SOFT' } +/** + * + * The result of a responses-deletion permission check, carrying the reason for a + * negative answer so that UI and mutations don't need to re-derive it separately + * (and risk disagreeing with the check itself). + * + */ +export enum CanResponsesBeDeleted { + NoOldVersion = 'NO_OLD_VERSION', + NoProtected = 'NO_PROTECTED', + NoUnauthorized = 'NO_UNAUTHORIZED', + Yes = 'YES' +} + export type CancelAndRefundOrderInput = { eventSlug: string; /** The order's status as last seen by the caller. If the order has since moved on to a different status, the mutation fails with error code ORDER_STATE_CHANGED rather than acting on a stale premise. */ @@ -599,6 +613,7 @@ export type UpdateProgramInput = { export type UpdateProgramPreferencesInput = { eventSlug: string; + protectResponses?: boolean | null | undefined; publicFrom?: string | null | undefined; }; @@ -1221,6 +1236,17 @@ export type EditProgramFormPageQueryVariables = Exact<{ export type EditProgramFormPageQuery = { event: { name: string, slug: string, forms: { survey: { slug: string, title: string | null, activeFrom: string | null, activeUntil: string | null, canRemove: boolean, purpose: SurveyPurpose, languages: Array<{ title: string, language: FormsFormLanguageChoices, canRemove: boolean }> } | null } | null } | null }; +export type ProgramFormResponseEditFragment = { id: string, revisionCreatedAt: string, values: unknown, originalCreatedBy: { fullName: string } | null, form: { title: string, description: string, fields: unknown, survey: { slug: string, profileFieldSelector: { firstName: boolean, lastName: boolean, nick: boolean, email: boolean, phoneNumber: boolean, discordHandle: boolean } } } }; + +export type ProgramFormResponseEditPageQueryVariables = Exact<{ + eventSlug: string; + surveySlug: string; + responseId: string; +}>; + + +export type ProgramFormResponseEditPageQuery = { event: { name: string, slug: string, timezone: string, forms: { survey: { purpose: SurveyPurpose, response: { id: string, revisionCreatedAt: string, values: unknown, originalCreatedBy: { fullName: string } | null, form: { title: string, description: string, fields: unknown, survey: { slug: string, profileFieldSelector: { firstName: boolean, lastName: boolean, nick: boolean, email: boolean, phoneNumber: boolean, discordHandle: boolean } } } } | null } | null } | null } | null }; + export type ProgramFormResponseDetailFragment = { values: unknown, cachedDimensions: unknown, canEdit: boolean, canAccept: boolean, canCancel: boolean, canDelete: boolean, id: string, originalCreatedAt: string, revisionCreatedAt: string, language: string, form: { description: string, fields: unknown, survey: { title: string | null, slug: string, profileFieldSelector: { firstName: boolean, lastName: boolean, nick: boolean, email: boolean, phoneNumber: boolean, discordHandle: boolean } } }, originalCreatedBy: { fullName: string, firstName: string, lastName: string, nick: string, email: string, phoneNumber: string, discordHandle: string } | null, revisionCreatedBy: { fullName: string } | null, supersededBy: { id: string, revisionCreatedAt: string, revisionCreatedBy: { displayName: string } | null } | null, oldVersions: Array<{ id: string, revisionCreatedAt: string, revisionCreatedBy: { displayName: string } | null }> }; export type ProgramFormResponseDetailQueryVariables = Exact<{ @@ -1243,7 +1269,7 @@ export type ProgramFormResponsesQueryVariables = Exact<{ }>; -export type ProgramFormResponsesQuery = { profile: { forms: { surveys: Array<{ slug: string }> } } | null, event: { name: string, slug: string, forms: { survey: { slug: string, title: string | null, purpose: SurveyPurpose, anonymity: Anonymity, fields: unknown, countResponses: number, dimensions: Array<{ slug: string, title: string | null, isMultiValue: boolean, isListFilter: boolean, isKeyDimension: boolean, isTechnical: boolean, values: Array<{ slug: string, title: string | null, color: string }> }>, responses: Array<{ id: string, sequenceNumber: number, revisionCreatedAt: string, language: string, values: unknown, cachedDimensions: unknown, revisionCreatedBy: { displayName: string } | null }> | null } | null } | null } | null }; +export type ProgramFormResponsesQuery = { profile: { forms: { surveys: Array<{ slug: string }> } } | null, event: { name: string, slug: string, forms: { survey: { slug: string, title: string | null, purpose: SurveyPurpose, anonymity: Anonymity, fields: unknown, countResponses: number, responsesDeletionStatus: CanResponsesBeDeleted, dimensions: Array<{ slug: string, title: string | null, isMultiValue: boolean, isListFilter: boolean, isKeyDimension: boolean, isTechnical: boolean, values: Array<{ slug: string, title: string | null, color: string }> }>, responses: Array<{ id: string, sequenceNumber: number, revisionCreatedAt: string, language: string, values: unknown, cachedDimensions: unknown, revisionCreatedBy: { displayName: string } | null }> | null } | null } | null } | null }; export type CreateProgramFormMutationVariables = Exact<{ input: CreateProgramFormInput; @@ -1412,7 +1438,7 @@ export type UpdateProgramPreferencesMutationVariables = Exact<{ }>; -export type UpdateProgramPreferencesMutation = { updateProgramPreferences: { preferences: { publicFrom: string | null, isSchedulePublic: boolean } | null } | null }; +export type UpdateProgramPreferencesMutation = { updateProgramPreferences: { preferences: { publicFrom: string | null, isSchedulePublic: boolean, protectResponses: boolean } | null } | null }; export type CreateMessageReplyToMutationVariables = Exact<{ input: CreateMessageReplyToInput; @@ -1442,7 +1468,7 @@ export type ProgramPreferencesQueryVariables = Exact<{ }>; -export type ProgramPreferencesQuery = { event: { name: string, slug: string, program: { publicFrom: string | null, isSchedulePublic: boolean, replyToAddresses: Array<{ id: string, name: string, email: string }> } | null } | null }; +export type ProgramPreferencesQuery = { event: { name: string, slug: string, program: { publicFrom: string | null, isSchedulePublic: boolean, protectResponses: boolean, replyToAddresses: Array<{ id: string, name: string, email: string }> } | null } | null }; export type ProgramPreviewDetailQueryQueryVariables = Exact<{ eventSlug: string; @@ -1743,7 +1769,7 @@ export type FormResponsesQueryVariables = Exact<{ }>; -export type FormResponsesQuery = { profile: { forms: { surveys: Array<{ slug: string }> } } | null, event: { name: string, slug: string, forms: { survey: { slug: string, title: string | null, anonymity: Anonymity, fields: unknown, countResponses: number, canRemoveResponses: boolean, protectResponses: boolean, dimensions: Array<{ slug: string, title: string | null, isMultiValue: boolean, isListFilter: boolean, isKeyDimension: boolean, isTechnical: boolean, values: Array<{ slug: string, title: string | null, color: string }> }>, responses: Array<{ id: string, sequenceNumber: number, revisionCreatedAt: string, language: string, values: unknown, cachedDimensions: unknown, revisionCreatedBy: { displayName: string } | null }> | null } | null } | null } | null }; +export type FormResponsesQuery = { profile: { forms: { surveys: Array<{ slug: string }> } } | null, event: { name: string, slug: string, forms: { survey: { slug: string, title: string | null, anonymity: Anonymity, fields: unknown, countResponses: number, responsesDeletionStatus: CanResponsesBeDeleted, dimensions: Array<{ slug: string, title: string | null, isMultiValue: boolean, isListFilter: boolean, isKeyDimension: boolean, isTechnical: boolean, values: Array<{ slug: string, title: string | null, color: string }> }>, responses: Array<{ id: string, sequenceNumber: number, revisionCreatedAt: string, language: string, values: unknown, cachedDimensions: unknown, revisionCreatedBy: { displayName: string } | null }> | null } | null } | null } | null }; export type SurveySummaryQueryVariables = Exact<{ eventSlug: string; @@ -1986,6 +2012,7 @@ export const ProgramAdminFragmentDoc = {"kind":"Document","definitions":[{"kind" export const ProgramAdminEventAnnotationFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramAdminEventAnnotation"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedUniverseAnnotationType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"annotation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"description"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"isComputed"}},{"kind":"Field","name":{"kind":"Name","value":"isPublic"}},{"kind":"Field","name":{"kind":"Name","value":"isShownInDetail"}},{"kind":"Field","name":{"kind":"Name","value":"isInternal"}},{"kind":"Field","name":{"kind":"Name","value":"isApplicableToProgramItems"}},{"kind":"Field","name":{"kind":"Name","value":"isApplicableToScheduleItems"}}]}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"formFields"}}]}}]} as unknown as DocumentNode; export const EditProgramFormLanguageFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EditProgramFormLanguage"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"language"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"thankYouMessage"}},{"kind":"Field","name":{"kind":"Name","value":"fields"}},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}}]}},{"kind":"Field","name":{"kind":"Name","value":"languages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}}]}}]}}]} as unknown as DocumentNode; export const EditProgramFormFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EditProgramForm"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"activeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"activeUntil"}},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"languages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}}]}}]}}]} as unknown as DocumentNode; +export const ProgramFormResponseEditFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramFormResponseEdit"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"values"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"fields"}},{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullProfileFieldSelector"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProfileFieldSelectorType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}}]} as unknown as DocumentNode; export const FullSelectedProfileFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullSelectedProfile"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SelectedProfileType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}}]} as unknown as DocumentNode; export const ResponseRevisionFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseRevision"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}}]} as unknown as DocumentNode; export const ResponseHistorySidebarFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseHistorySidebar"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullSelectedProfile"}}]}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"supersededBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}},{"kind":"Field","name":{"kind":"Name","value":"oldVersions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullSelectedProfile"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SelectedProfileType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullProfileFieldSelector"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProfileFieldSelectorType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseRevision"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}}]} as unknown as DocumentNode; @@ -2106,8 +2133,9 @@ export const CreateProgramFormLanguageDocument = {"kind":"Document","definitions export const UpdateProgramFormMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateProgramFormMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateSurveyInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateProgramForm"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]} as unknown as DocumentNode; export const DeleteProrgamFormMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteProrgamFormMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteSurveyInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteSurvey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]} as unknown as DocumentNode; export const EditProgramFormPageDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"EditProgramFormPage"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EditProgramForm"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EditProgramForm"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"activeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"activeUntil"}},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"languages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"canRemove"}}]}}]}}]} as unknown as DocumentNode; +export const ProgramFormResponseEditPageDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramFormResponseEditPage"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"response"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramFormResponseEdit"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullProfileFieldSelector"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProfileFieldSelectorType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramFormResponseEdit"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"values"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"fields"}},{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const ProgramFormResponseDetailDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramFormResponseDetail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionValueSelect"}}]}},{"kind":"Field","name":{"kind":"Name","value":"response"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramFormResponseDetail"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullSelectedProfile"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SelectedProfileType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullProfileFieldSelector"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProfileFieldSelectorType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseRevision"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseHistorySidebar"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullSelectedProfile"}}]}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"supersededBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}},{"kind":"Field","name":{"kind":"Name","value":"oldVersions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionValueSelect"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramFormResponseDetail"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseHistorySidebar"}},{"kind":"Field","name":{"kind":"Name","value":"values"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"fields"}},{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"canEdit"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"mode"},"value":{"kind":"EnumValue","value":"ADMIN"}}]},{"kind":"Field","name":{"kind":"Name","value":"canAccept"}},{"kind":"Field","name":{"kind":"Name","value":"canCancel"}},{"kind":"Field","name":{"kind":"Name","value":"canDelete"}}]}}]} as unknown as DocumentNode; -export const ProgramFormResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramFormResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"SUBSCRIBED"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"anonymity"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ColoredDimensionTableCell"}}]}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramFormResponse"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ColoredDimensionTableCell"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramFormResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sequenceNumber"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyDimensionsOnly"},"value":{"kind":"BooleanValue","value":true}}]}]}}]} as unknown as DocumentNode; +export const ProgramFormResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramFormResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"SUBSCRIBED"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"anonymity"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ColoredDimensionTableCell"}}]}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"responsesDeletionStatus"}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramFormResponse"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ColoredDimensionTableCell"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramFormResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sequenceNumber"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyDimensionsOnly"},"value":{"kind":"BooleanValue","value":true}}]}]}}]} as unknown as DocumentNode; export const CreateProgramFormDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateProgramForm"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateProgramFormInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createProgramForm"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]} as unknown as DocumentNode; export const ProgramFormsPageDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramFormsPage"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"ACCESSIBLE"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProfileSurvey"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"includeInactive"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"PROGRAM"}},{"kind":"Argument","name":{"kind":"Name","value":"purpose"},"value":{"kind":"ListValue","values":[{"kind":"EnumValue","value":"DEFAULT"},{"kind":"EnumValue","value":"INVITE"}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OfferForm"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProfileSurvey"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OfferForm"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"activeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"activeUntil"}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"languages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}}]}}]}}]} as unknown as DocumentNode; export const ProgramAdminHostsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramAdminHosts"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"programHostsExcelExportLink"}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"isListFilter"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}}]}},{"kind":"Field","name":{"kind":"Name","value":"programHosts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"programFilters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramAdminHost"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramAdminHost"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullProgramHostType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"person"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}}]}},{"kind":"Field","name":{"kind":"Name","value":"programs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"}}]}}]}}]} as unknown as DocumentNode; @@ -2127,11 +2155,11 @@ export const ProgramOfferEditPageDocument = {"kind":"Document","definitions":[{" export const ProgramOfferPageDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramOfferPage"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"involvementDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionValueSelect"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionValueSelect"}}]}},{"kind":"Field","name":{"kind":"Name","value":"programOffer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"responseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramOfferDetail"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullSelectedProfile"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SelectedProfileType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullProfileFieldSelector"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProfileFieldSelectorType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"nick"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"discordHandle"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseRevision"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ResponseHistorySidebar"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullSelectedProfile"}}]}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"supersededBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}},{"kind":"Field","name":{"kind":"Name","value":"oldVersions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseRevision"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionBadge"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ResponseDimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dimension"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"value"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionValueSelect"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramOfferDetail"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ResponseHistorySidebar"}},{"kind":"Field","name":{"kind":"Name","value":"values"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"}},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"fields"}},{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDefaultResponseDimensions"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDefaultInvolvementDimensions"}},{"kind":"Field","name":{"kind":"Name","value":"profileFieldSelector"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullProfileFieldSelector"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"programs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionBadge"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canEdit"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"mode"},"value":{"kind":"EnumValue","value":"ADMIN"}}]},{"kind":"Field","name":{"kind":"Name","value":"canAccept"}},{"kind":"Field","name":{"kind":"Name","value":"canCancel"}},{"kind":"Field","name":{"kind":"Name","value":"canDelete"}}]}}]} as unknown as DocumentNode; export const DeleteProgramOffersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteProgramOffers"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteProgramOffersInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteProgramOffers"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"countDeleted"}}]}}]}}]} as unknown as DocumentNode; export const ProgramOffersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramOffers"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"programOffersExcelExportLink"}},{"kind":"Field","name":{"kind":"Name","value":"canDeleteProgramOffers"}},{"kind":"Field","alias":{"kind":"Name","value":"listFilters"},"name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"isListFilter"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramOfferDimension"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"keyDimensions"},"name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyDimensionsOnly"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramOfferDimension"}}]}},{"kind":"Field","name":{"kind":"Name","value":"stateDimension"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramOfferDimension"}}]}},{"kind":"Field","name":{"kind":"Name","value":"countProgramOffers"}},{"kind":"Field","name":{"kind":"Name","value":"programOffers"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramOffer"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ColoredDimensionTableCell"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionValueSelect"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramOfferDimension"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ColoredDimensionTableCell"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionValueSelect"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramOffer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"originalCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fullName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sequenceNumber"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"form"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}}]}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}]},{"kind":"Field","name":{"kind":"Name","value":"programs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}}]}}]}}]} as unknown as DocumentNode; -export const UpdateProgramPreferencesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateProgramPreferences"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateProgramPreferencesInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateProgramPreferences"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"preferences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"publicFrom"}},{"kind":"Field","name":{"kind":"Name","value":"isSchedulePublic"}}]}}]}}]}}]} as unknown as DocumentNode; +export const UpdateProgramPreferencesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateProgramPreferences"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateProgramPreferencesInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateProgramPreferences"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"preferences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"publicFrom"}},{"kind":"Field","name":{"kind":"Name","value":"isSchedulePublic"}},{"kind":"Field","name":{"kind":"Name","value":"protectResponses"}}]}}]}}]}}]} as unknown as DocumentNode; export const CreateMessageReplyToDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateMessageReplyTo"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateMessageReplyToInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createMessageReplyTo"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"replyTo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; export const UpdateMessageReplyToDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateMessageReplyTo"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateMessageReplyToInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateMessageReplyTo"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"replyTo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; export const DeleteMessageReplyToDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteMessageReplyTo"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteMessageReplyToInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteMessageReplyTo"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"replyToId"}}]}}]}}]} as unknown as DocumentNode; -export const ProgramPreferencesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramPreferences"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"publicFrom"}},{"kind":"Field","name":{"kind":"Name","value":"isSchedulePublic"}},{"kind":"Field","name":{"kind":"Name","value":"replyToAddresses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MessageReplyToRow"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MessageReplyToRow"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MessageReplyToType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}}]} as unknown as DocumentNode; +export const ProgramPreferencesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramPreferences"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"publicFrom"}},{"kind":"Field","name":{"kind":"Name","value":"isSchedulePublic"}},{"kind":"Field","name":{"kind":"Name","value":"protectResponses"}},{"kind":"Field","name":{"kind":"Name","value":"replyToAddresses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MessageReplyToRow"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MessageReplyToRow"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MessageReplyToType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}}]} as unknown as DocumentNode; export const ProgramPreviewDetailQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramPreviewDetailQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"programSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"scheduleItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"program"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"programSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramDetail"}},{"kind":"Field","alias":{"kind":"Name","value":"adminDimensions"},"name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramDimensionBadge"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramDetailAnnotation"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProgramAnnotationType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"annotation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"value"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramDetail"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullProgramType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"cachedHosts"}},{"kind":"Field","name":{"kind":"Name","value":"isCancelled"}},{"kind":"Field","name":{"kind":"Name","value":"links"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"href"}},{"kind":"Field","name":{"kind":"Name","value":"title"}}]}},{"kind":"Field","name":{"kind":"Name","value":"annotations"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"isShownInDetail"},"value":{"kind":"BooleanValue","value":true}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProgramDetailAnnotation"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"isShownInDetail"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":true}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dimension"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"value"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"scheduleItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"subtitle"}},{"kind":"Field","name":{"kind":"Name","value":"location"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"startTime"}},{"kind":"Field","name":{"kind":"Name","value":"endTime"}},{"kind":"Field","name":{"kind":"Name","value":"links"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"ownOnly"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"href"}},{"kind":"Field","name":{"kind":"Name","value":"title"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProgramDimensionBadge"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProgramDimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dimension"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"value"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}}]} as unknown as DocumentNode; export const ProgramPreviewListQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramPreviewListQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"hidePast"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"scheduleItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}},{"kind":"Argument","name":{"kind":"Name","value":"hidePast"},"value":{"kind":"Variable","name":{"kind":"Name","value":"hidePast"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ScheduleItemList"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"calendarExportLink"}},{"kind":"Field","name":{"kind":"Name","value":"isSchedulePublic"}},{"kind":"Field","alias":{"kind":"Name","value":"listFilters"},"name":{"kind":"Name","value":"dimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"isListFilter"},"value":{"kind":"BooleanValue","value":true}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}}]}},{"kind":"Field","name":{"kind":"Name","value":"scheduleItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}},{"kind":"Argument","name":{"kind":"Name","value":"hidePast"},"value":{"kind":"Variable","name":{"kind":"Name","value":"hidePast"}}},{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ScheduleItemList"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ScheduleProgram"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedProgramType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"publicOnly"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"listFiltersOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"isCancelled"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ScheduleItemList"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullScheduleItemType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"location"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"subtitle"}},{"kind":"Field","name":{"kind":"Name","value":"startTime"}},{"kind":"Field","name":{"kind":"Name","value":"endTime"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ScheduleProgram"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}}]} as unknown as DocumentNode; export const ProgramAdminReportsPageDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProgramAdminReportsPage"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"program"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"reports"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Report"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Report"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ReportType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"footer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"columns"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"Field","name":{"kind":"Name","value":"rows"}},{"kind":"Field","name":{"kind":"Name","value":"totalRow"}}]}}]} as unknown as DocumentNode; @@ -2167,7 +2195,7 @@ export const SurveyResponseDetailDocument = {"kind":"Document","definitions":[{" export const SubscribeToSurveyResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SubscribeToSurveyResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SubscriptionInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"subscribeToSurveyResponses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const UnsubscribeFromSurveyResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UnsubscribeFromSurveyResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SubscriptionInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"unsubscribeFromSurveyResponses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const DeleteSurveyResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteSurveyResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DeleteSurveyResponsesInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteSurveyResponses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"countDeleted"}}]}}]}}]} as unknown as DocumentNode; -export const FormResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FormResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"SUBSCRIBED"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"anonymity"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ColoredDimensionTableCell"}}]}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"canRemoveResponses"}},{"kind":"Field","name":{"kind":"Name","value":"protectResponses"}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SurveyResponse"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ColoredDimensionTableCell"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SurveyResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sequenceNumber"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyDimensionsOnly"},"value":{"kind":"BooleanValue","value":true}}]}]}}]} as unknown as DocumentNode; +export const FormResponsesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FormResponses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"eventSlug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}},{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"SUBSCRIBED"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"anonymity"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ColoredDimensionTableCell"}}]}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"responsesDeletionStatus"}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SurveyResponse"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ColoredDimensionTableCell"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"isTechnical"}},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"color"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SurveyResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LimitedResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sequenceNumber"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"revisionCreatedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}},{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyFieldsOnly"},"value":{"kind":"BooleanValue","value":true}}]},{"kind":"Field","name":{"kind":"Name","value":"cachedDimensions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"keyDimensionsOnly"},"value":{"kind":"BooleanValue","value":true}}]}]}}]} as unknown as DocumentNode; export const SurveySummaryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SurveySummary"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionFilterInput"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"surveySlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"summary"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}]},{"kind":"Field","alias":{"kind":"Name","value":"countFilteredResponses"},"name":{"kind":"Name","value":"countResponses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filters"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}}]},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"dimensions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilter"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilterValue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DimensionValueType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DimensionFilter"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullDimensionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isMultiValue"}},{"kind":"Field","name":{"kind":"Name","value":"isListFilter"}},{"kind":"Field","name":{"kind":"Name","value":"isKeyDimension"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DimensionFilterValue"}}]}}]}}]} as unknown as DocumentNode; export const CreateSurveyDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateSurvey"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateSurveyInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createSurvey"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"survey"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]} as unknown as DocumentNode; export const SurveysDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Surveys"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"locale"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"relation"},"value":{"kind":"EnumValue","value":"ACCESSIBLE"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProfileSurvey"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"event"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"eventSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"forms"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"surveys"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"includeInactive"},"value":{"kind":"BooleanValue","value":true}},{"kind":"Argument","name":{"kind":"Name","value":"app"},"value":{"kind":"EnumValue","value":"FORMS"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Survey"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProfileSurvey"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"event"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Survey"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FullSurveyType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"locale"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"activeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"activeUntil"}},{"kind":"Field","name":{"kind":"Name","value":"countResponses"}},{"kind":"Field","name":{"kind":"Name","value":"languages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}}]}}]}}]} as unknown as DocumentNode; diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/edit/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/edit/page.tsx new file mode 100644 index 000000000..2665ef62c --- /dev/null +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/edit/page.tsx @@ -0,0 +1,212 @@ +import { + Markdown, + SignInRequired, + SubmitButton, + FormattedDateTime, +} from "@con2/components"; +import Link from "next/link"; +import { notFound, redirect } from "next/navigation"; + +import { Alert } from "react-bootstrap"; +import { submit } from "../../../../../surveys/[surveySlug]/responses/[responseId]/edit/actions"; +import { graphql } from "@/__generated__"; +import { SurveyPurpose } from "@/__generated__/graphql"; +import { getClient } from "@/apolloClient"; +import { auth } from "@/auth"; +import { validateFields } from "@/components/forms/models"; +import { SchemaForm } from "@/components/forms/SchemaForm"; +import ProgramAdminView from "@/components/program/ProgramAdminView"; +import getPageTitle from "@/helpers/getPageTitle"; +import { getTranslations } from "@/translations"; + +graphql(` + fragment ProgramFormResponseEdit on FullResponseType { + id + revisionCreatedAt + originalCreatedBy { + fullName + } + values + form { + title + description + fields + survey { + slug + profileFieldSelector { + ...FullProfileFieldSelector + } + } + } + } +`); + +const query = graphql(` + query ProgramFormResponseEditPage( + $eventSlug: String! + $surveySlug: String! + $responseId: String! + ) { + event(slug: $eventSlug) { + name + slug + timezone + + forms { + survey(slug: $surveySlug, app: PROGRAM) { + purpose + + response(id: $responseId) { + ...ProgramFormResponseEdit + } + } + } + } + } +`); + +interface Props { + params: Promise<{ + locale: string; + eventSlug: string; + surveySlug: string; + responseId: string; + }>; + searchParams: Promise>; +} + +interface Values { + title?: string; + description?: string; +} + +export async function generateMetadata(props: Props) { + const params = await props.params; + const { locale, eventSlug, surveySlug, responseId } = params; + const translations = getTranslations(locale); + + // TODO encap + const session = await auth(); + if (!session) { + return translations.SignInRequired.metadata; + } + + const t = translations.Survey; + + const { data } = await getClient().query({ + query, + variables: { eventSlug, surveySlug, responseId }, + }); + + if (!data.event?.forms?.survey?.response) { + notFound(); + } + + const values: Values = data.event.forms.survey.response.values as any; + + const title = getPageTitle({ + viewTitle: t.responseDetailTitle, + subject: values.title || "", + event: data.event, + translations, + }); + + return { + title, + }; +} + +export const revalidate = 0; + +export default async function ProgramFormResponseEditPage(props: Props) { + const searchParams = await props.searchParams; + const params = await props.params; + const { locale, eventSlug, surveySlug, responseId } = params; + const translations = getTranslations(locale); + const t = translations.Survey; + const session = await auth(); + + // TODO encap + if (!session) { + return ( + + ); + } + + const { data } = await getClient().query({ + query, + variables: { eventSlug, surveySlug, responseId }, + }); + + if (!data.event?.forms?.survey?.response) { + notFound(); + } + + const survey = data.event.forms.survey; + + if (survey.purpose === SurveyPurpose.Default) { + redirect(`/${eventSlug}/program-offers/${responseId}/edit`); + } + + const response = survey.response; + if (!response) { + notFound(); + } + + const { event } = data; + const { revisionCreatedAt, originalCreatedBy, form } = response; + const { fields, survey: formSurvey, description, title } = form; + + const values: Record = response.values ?? {}; + + validateFields(fields); + + return ( + + ❌ {t.actions.editResponse.cancel} + + } + > + + {t.actions.editResponse.editingOthers( + , + originalCreatedBy?.fullName, + )} + + +

{title}

+ + +
+ + {translations.Common.submit} + +
+ ); +} diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/page.tsx index 5b9988d2b..58fa766da 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/page.tsx +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/[responseId]/page.tsx @@ -1,8 +1,10 @@ -import { SignInRequired } from "@con2/components"; +import { ModalButton, SignInRequired } from "@con2/components"; import Link from "next/link"; import { notFound, redirect } from "next/navigation"; +import { ButtonGroup } from "react-bootstrap"; import { updateResponseDimensions } from "../../../../surveys/[surveySlug]/responses/[responseId]/actions"; +import { deleteSurveyResponses } from "../../../../surveys/[surveySlug]/responses/actions"; import { graphql } from "@/__generated__"; import { SurveyPurpose } from "@/__generated__/graphql"; import { getClient } from "@/apolloClient"; @@ -170,6 +172,7 @@ export default async function ProgramFormResponsePage(props: Props) { const surveyDimensions = survey.dimensions; const dimensionsReadOnly = !!supersededBy; + const { canEdit, canDelete } = response; const responsesBaseUrl = `/${eventSlug}/program-forms/${surveySlug}/responses`; return ( @@ -178,6 +181,36 @@ export default async function ProgramFormResponsePage(props: Props) { event={data.event} active="programForms" searchParams={searchParams} + actions={ + + + {t.actions.deleteResponse.confirmation} + + + + {t.actions.editResponse.label} + + + } > < {t.responseListTitle} diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/page.tsx index de7b7312d..b623df7d4 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/page.tsx +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-forms/[surveySlug]/responses/page.tsx @@ -2,18 +2,18 @@ import { Column, DataTable, DimensionFilters, + FormattedDateTime, + ModalButton, SignInRequired, UploadedFileLink, - FormattedDateTime, } from "@con2/components"; import Link from "next/link"; import { notFound, redirect } from "next/navigation"; -import { Fragment } from "react"; +import { Fragment, ReactNode } from "react"; -import { toggleSurveyResponseSubscription } from "../../../surveys/[surveySlug]/responses/actions"; -import { ResponseListActions } from "../../../surveys/[surveySlug]/responses/ResponseListActions"; import { graphql } from "@/__generated__"; import { + CanResponsesBeDeleted, ProgramFormResponseFragment, SurveyPurpose, } from "@/__generated__/graphql"; @@ -29,6 +29,11 @@ import ProgramAdminView from "@/components/program/ProgramAdminView"; import { kompassiBaseUrl } from "@/config"; import getPageTitle from "@/helpers/getPageTitle"; import { getTranslations } from "@/translations"; +import { + deleteSurveyResponses, + toggleSurveyResponseSubscription, +} from "../../../surveys/[surveySlug]/responses/actions"; +import { ResponseListActions } from "../../../surveys/[surveySlug]/responses/ResponseListActions"; // this fragment is just to give a name to the type so that we can import it from generated graphql(` @@ -77,6 +82,7 @@ const query = graphql(` } countResponses + responsesDeletionStatus responses(filters: $filters) { ...ProgramFormResponse @@ -195,15 +201,12 @@ export default async function ProgramFormResponsesPage(props: Props) { ), }, - ]; - - if (anonymity === "NAME_AND_EMAIL") { - columns.push({ + { slug: "revisionCreatedBy", title: t.attributes.originalCreatedBy, getCellContents: (row) => row.revisionCreatedBy?.displayName || "", - }); - } + }, + ]; keyFields.forEach((keyField) => { columns.push({ @@ -248,6 +251,23 @@ export default async function ProgramFormResponsesPage(props: Props) { (survey) => survey.slug === surveySlug, ); + const canRemoveResponses = + survey.responsesDeletionStatus === CanResponsesBeDeleted.Yes; + + // Program forms are protected by the event-wide program preferences toggle + // rather than a per-survey one, so the message for that reason differs. + const deletionStatusReasons = { + ...t.actions.deleteVisibleResponses.reasons, + NO_PROTECTED: translations.Program.ProgramForm.actions.responsesProtected, + }; + + const cannotRemoveResponsesReason: string | ReactNode | null = + canRemoveResponses + ? null + : responses.length < 1 + ? t.actions.deleteVisibleResponses.noResponsesToDelete + : deletionStatusReasons[survey.responsesDeletionStatus]; + return ( + > + response.id), + searchParams, + `${eventSlug}/program-forms/${surveySlug}/responses`, + ) + : undefined + } + className="btn btn-outline-danger" + > + {canRemoveResponses + ? t.actions.deleteVisibleResponses.confirmation(responses.length) + : cannotRemoveResponsesReason} + + } > - - <{" "} - {translations.Program.ProgramForm.actions.returnToProgramFormList( - data.event.name, - )} - -

{t.responseListTitle}: {survey.title}

diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/actions.ts b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/actions.ts index d2608dda7..fe973269a 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/actions.ts +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/actions.ts @@ -1,5 +1,6 @@ "use server"; +import { decodeBoolean } from "@con2/components/helpers"; import { revalidatePath } from "next/cache"; import { graphql } from "@/__generated__"; import { getClient } from "@/apolloClient"; @@ -10,6 +11,7 @@ const mutation = graphql(` preferences { publicFrom isSchedulePublic + protectResponses } } } @@ -25,6 +27,9 @@ export async function updateProgramPreferences( publicFromRaw && typeof publicFromRaw === "string" && publicFromRaw !== "" ? publicFromRaw : null; + const protectResponses = decodeBoolean( + (formData.get("protectResponses") as string | null) || "false", + ); await getClient().mutate({ mutation, @@ -32,6 +37,7 @@ export async function updateProgramPreferences( input: { eventSlug, publicFrom, + protectResponses, }, }, }); diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/page.tsx index 34f0c9e37..464eb6a3e 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/page.tsx +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/program-preferences/page.tsx @@ -42,6 +42,7 @@ const query = graphql(` program { publicFrom isSchedulePublic + protectResponses replyToAddresses { ...MessageReplyToRow @@ -186,10 +187,16 @@ export default async function ProgramPreferencesPage(props: Props) { helpText: t.attributes.publicFrom.helpText, required: false, }, + { + slug: "protectResponses", + type: "SingleCheckbox", + ...t.attributes.protectResponses, + }, ]; const values = { publicFrom: program.publicFrom ?? "", + protectResponses: program.protectResponses, }; return ( diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/actions.ts b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/actions.ts index e5377d26d..c9d4126c4 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/actions.ts +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/actions.ts @@ -21,6 +21,7 @@ export async function submit( eventSlug: string, surveySlug: string, editResponseId: string, + basePath: string, formData: FormData, ) { const client = getClient(); @@ -42,11 +43,7 @@ export async function submit( throw new Error("Failed to create survey response"); } - revalidatePath(`/${locale}/${eventSlug}/surveys/${surveySlug}/responses`); - revalidatePath( - `/${locale}/${eventSlug}/surveys/${surveySlug}/responses/${editResponseId}`, - ); - return void redirect( - `/${eventSlug}/surveys/${surveySlug}/responses/${newResponseId}?success=responseEdited`, - ); + revalidatePath(`/${locale}/${basePath}`); + revalidatePath(`/${locale}/${basePath}/${editResponseId}`); + return void redirect(`/${basePath}/${newResponseId}?success=responseEdited`); } diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/page.tsx index ebd14655b..a52c28bed 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/page.tsx +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/[responseId]/edit/page.tsx @@ -184,7 +184,14 @@ export default async function ProgramOfferPage(props: Props) {
{t.actions.deleteResponse.confirmation} diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/actions.ts b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/actions.ts index cfe1682ed..c70ecfb2a 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/actions.ts +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/actions.ts @@ -51,6 +51,7 @@ export async function deleteSurveyResponses( surveySlug: string, responseIds: string[], searchParams: Record, + basePath: string, ): Promise { await getClient().mutate({ mutation: deleteSurveyResponsesMutation, @@ -62,12 +63,12 @@ export async function deleteSurveyResponses( }, }, }); - revalidatePath(`/${locale}/${eventSlug}/surveys/${surveySlug}/responses`); + revalidatePath(`/${locale}/${basePath}`); const queryString = Object.entries(searchParams).length > 0 ? "?" + new URLSearchParams(searchParams).toString() : ""; - redirect(`/${eventSlug}/surveys/${surveySlug}/responses${queryString}`); + redirect(`/${basePath}${queryString}`); } diff --git a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/page.tsx b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/page.tsx index 74ce84f24..c66d5e525 100644 --- a/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/page.tsx +++ b/kompassi-v2-frontend/src/app/[locale]/[eventSlug]/surveys/[surveySlug]/responses/page.tsx @@ -21,7 +21,10 @@ import { import { ResponseListActions } from "./ResponseListActions"; import ResponseTabs from "./ResponseTabs"; import { graphql } from "@/__generated__"; -import { SurveyResponseFragment } from "@/__generated__/graphql"; +import { + CanResponsesBeDeleted, + SurveyResponseFragment, +} from "@/__generated__/graphql"; import { getClient } from "@/apolloClient"; import { auth } from "@/auth"; import { buildKeyDimensionColumns } from "@/components/dimensions/ColoredDimensionTableCell"; @@ -80,8 +83,7 @@ const query = graphql(` } countResponses - canRemoveResponses - protectResponses + responsesDeletionStatus responses(filters: $filters) { ...SurveyResponse @@ -242,19 +244,17 @@ export default async function FormResponsesPage(props: Props) { (survey) => survey.slug === surveySlug, ); - let cannotRemoveResponsesReason: string | ReactNode | null = null; - if (!survey.canRemoveResponses) { - if (survey.protectResponses) { - cannotRemoveResponsesReason = - t.actions.deleteVisibleResponses.responsesProtected; - } else if (responses.length < 1) { - cannotRemoveResponsesReason = - t.actions.deleteVisibleResponses.noResponsesToDelete; - } else { - cannotRemoveResponsesReason = - t.actions.deleteVisibleResponses.cannotDelete; - } - } + const canRemoveResponses = + survey.responsesDeletionStatus === CanResponsesBeDeleted.Yes; + + const cannotRemoveResponsesReason: string | ReactNode | null = + canRemoveResponses + ? null + : responses.length < 1 + ? t.actions.deleteVisibleResponses.noResponsesToDelete + : t.actions.deleteVisibleResponses.reasons[ + survey.responsesDeletionStatus + ]; return ( @@ -287,7 +287,7 @@ export default async function FormResponsesPage(props: Props) { title={t.actions.deleteVisibleResponses.title} messages={t.actions.deleteVisibleResponses.modalActions} action={ - survey.canRemoveResponses + canRemoveResponses ? deleteSurveyResponses.bind( null, locale, @@ -295,12 +295,13 @@ export default async function FormResponsesPage(props: Props) { surveySlug, responses.map((response) => response.id), searchParams, + `${eventSlug}/surveys/${surveySlug}/responses`, ) : undefined } className="btn btn-outline-danger" > - {survey.canRemoveResponses + {canRemoveResponses ? t.actions.deleteVisibleResponses.confirmation( responses.length, ) diff --git a/kompassi-v2-frontend/src/translations/en.tsx b/kompassi-v2-frontend/src/translations/en.tsx index 12a35c299..d990b4cb7 100644 --- a/kompassi-v2-frontend/src/translations/en.tsx +++ b/kompassi-v2-frontend/src/translations/en.tsx @@ -1760,6 +1760,8 @@ const translations = { }, returnToProgramFormList: (eventName: string) => `Return to the list of program forms of ${eventName}`, + responsesProtected: + "Program offers and program form responses are protected. To remove, disable response protection on the program preferences page first.", }, }, @@ -2361,6 +2363,11 @@ const translations = { isSchedulePublic: { title: "Schedule is currently public", }, + protectResponses: { + title: "Protect program offers and responses", + helpText: + "If checked, program offers and program form responses cannot be removed via the user interface. Use this to protect against accidental removal.", + }, }, }, }, @@ -2710,10 +2717,16 @@ const translations = { visible? ), - responsesProtected: - "The responses to this survey are protected. To remove, disable response protection from query settings first.", - cannotDelete: "Cannot delete responses.", noResponsesToDelete: "No responses to delete.", + reasons: { + // Never actually shown: deletion is allowed, so there is no reason to display. + YES: "", + NO_PROTECTED: + "The responses to this survey are protected. To remove, disable response protection from query settings first.", + NO_OLD_VERSION: + "This is an old version of a response and cannot be deleted directly.", + NO_UNAUTHORIZED: "Cannot delete responses.", + }, modalActions: { submit: "Delete responses", cancel: "Cancel without deleting", diff --git a/kompassi-v2-frontend/src/translations/fi.tsx b/kompassi-v2-frontend/src/translations/fi.tsx index 8a2097c03..335250d07 100644 --- a/kompassi-v2-frontend/src/translations/fi.tsx +++ b/kompassi-v2-frontend/src/translations/fi.tsx @@ -1758,6 +1758,8 @@ const translations: Translations = { }, returnToProgramFormList: (eventName: string) => `Takaisin tapahtuman ${eventName} ohjelmalomakkeiden listaan`, + responsesProtected: + "Ohjelmatarjoukset ja ohjelmalomakkeiden vastaukset on suojattu. Jos haluat poistaa vastauksia, kytke ensin vastausten suojaus pois ohjelma-asetuksista.", }, }, @@ -2360,6 +2362,11 @@ const translations: Translations = { isSchedulePublic: { title: "Ohjelmakartta on tällä hetkellä julkinen", }, + protectResponses: { + title: "Suojaa ohjelmatarjoukset ja vastaukset", + helpText: + "Jos tämä on valittuna, ohjelmatarjouksia ja ohjelmalomakkeiden vastauksia ei voi poistaa käyttöliittymästä. Voit käyttää tätä suojaamaan tahattomalta poistolta.", + }, }, }, }, @@ -2716,10 +2723,16 @@ const translations: Translations = { {countResponses} vastausta? ), - responsesProtected: - "Tämän kyselyn vastaukset on suojattu. Jos haluat poistaa vastauksia, kytke ensin vastausten suojaus pois kyselyn asetuksista.", - cannotDelete: "Vastauksia ei voi poistaa.", noResponsesToDelete: "Ei vastauksia poistettavaksi.", + reasons: { + // Ei koskaan näytetä: poisto on sallittu, joten syytä ei tarvitse näyttää. + YES: "", + NO_PROTECTED: + "Tämän kyselyn vastaukset on suojattu. Jos haluat poistaa vastauksia, kytke ensin vastausten suojaus pois kyselyn asetuksista.", + NO_OLD_VERSION: + "Tämä on vastauksen vanha versio, eikä sitä voi poistaa suoraan.", + NO_UNAUTHORIZED: "Vastauksia ei voi poistaa.", + }, modalActions: { submit: "Poista vastaukset", cancel: "Peruuta poistamatta", diff --git a/kompassi-v2-frontend/src/translations/sv.tsx b/kompassi-v2-frontend/src/translations/sv.tsx index d39c7f329..e3f3320fa 100644 --- a/kompassi-v2-frontend/src/translations/sv.tsx +++ b/kompassi-v2-frontend/src/translations/sv.tsx @@ -1730,6 +1730,8 @@ const translations: Translations = { }, returnToProgramFormList: (eventName: string) => `Tillbaka till listan över programformulär för ${eventName}`, + responsesProtected: + "Programförslag och svar på programformulär är skyddade. För att ta bort dem, avaktivera svarsskyddet på sidan för programinställningar först.", }, }, @@ -2311,6 +2313,11 @@ const translations: Translations = { isSchedulePublic: { title: "Schemat är för närvarande offentligt", }, + protectResponses: { + title: "Skydda programförslag och svar", + helpText: + "Om markerat kan programförslag och svar på programformulär inte raderas via användargränssnittet. Använd detta för att skydda mot oavsiktlig radering.", + }, }, }, }, @@ -2661,9 +2668,15 @@ const translations: Translations = { ), noResponsesToDelete: "Inga svar att radera.", - responsesProtected: - "Svaren på den här enkäten är skyddade. För att ta bort dem, avaktivera svarsskyddet i enkätinställningarna först.", - cannotDelete: "De här svaren kan inte raderas.", + reasons: { + // Visas aldrig: radering är tillåten, så det finns ingen anledning att visa. + YES: "", + NO_PROTECTED: + "Svaren på den här enkäten är skyddade. För att ta bort dem, avaktivera svarsskyddet i enkätinställningarna först.", + NO_OLD_VERSION: + "Detta är en gammal version av ett svar och kan inte raderas direkt.", + NO_UNAUTHORIZED: "De här svaren kan inte raderas.", + }, modalActions: { submit: "Radera svar", cancel: "Avbryt utan att radera", diff --git a/kompassi/forms/graphql/enums.py b/kompassi/forms/graphql/enums.py index bb3ff552a..678219637 100644 --- a/kompassi/forms/graphql/enums.py +++ b/kompassi/forms/graphql/enums.py @@ -1,7 +1,8 @@ import graphene -from ..models.enums import Anonymity, EditMode, SurveyPurpose +from ..models.enums import Anonymity, CanResponsesBeDeleted, EditMode, SurveyPurpose SurveyPurposeType = graphene.Enum.from_enum(SurveyPurpose) AnonymiType = graphene.Enum.from_enum(Anonymity) EditModeType = graphene.Enum.from_enum(EditMode) +CanResponsesBeDeletedType = graphene.Enum.from_enum(CanResponsesBeDeleted) diff --git a/kompassi/forms/graphql/mutations/delete_survey_responses.py b/kompassi/forms/graphql/mutations/delete_survey_responses.py index 142f5be73..6da5cf89d 100644 --- a/kompassi/forms/graphql/mutations/delete_survey_responses.py +++ b/kompassi/forms/graphql/mutations/delete_survey_responses.py @@ -2,7 +2,6 @@ from django.db import transaction from django.http import HttpRequest -from kompassi.dimensions.models.enums import DimensionApp from kompassi.event_log_v2.utils.emit import emit from ...models.survey import Survey @@ -28,17 +27,19 @@ def mutate( input: DeleteSurveyResponsesInput, ): survey = Survey.objects.get(event__slug=input.event_slug, slug=input.survey_slug) - if survey.app != DimensionApp.FORMS: - raise ValueError("This endpoint can only be used for forms surveys") request: HttpRequest = info.context - if not survey.can_responses_be_deleted_by(request): - raise ValueError("Cannot delete responses") - - _, deleted_by_model = survey.current_responses.filter(id__in=input.response_ids).delete() + status = survey.can_responses_be_deleted_by(request) + if not status: + raise ValueError(f"Cannot delete responses: {status.name}") + + # Old versions must be deleted first: deleting the current version would otherwise + # SET_NULL their superseded_by, making them impossible to find afterwards. + old_versions = survey.all_responses.filter(superseded_by__in=input.response_ids) + _, deleted_by_model = old_versions.delete() count_deleted = deleted_by_model.get("forms.Response", 0) - _, deleted_by_model = survey.current_responses.filter(superseded_by__in=input.response_ids).delete() + _, deleted_by_model = survey.current_responses.filter(id__in=input.response_ids).delete() count_deleted += deleted_by_model.get("forms.Response", 0) emit( diff --git a/kompassi/forms/graphql/response_limited.py b/kompassi/forms/graphql/response_limited.py index abf04ce8a..74f94bd4a 100644 --- a/kompassi/forms/graphql/response_limited.py +++ b/kompassi/forms/graphql/response_limited.py @@ -222,7 +222,7 @@ def resolve_can_delete( response: Response, info, ): - return response.survey.workflow.response_can_be_deleted_by(response, info.context) + return response.survey.workflow.response_can_be_deleted_by(response, info.context).can_delete can_delete = graphene.NonNull( graphene.Boolean, diff --git a/kompassi/forms/graphql/survey_full.py b/kompassi/forms/graphql/survey_full.py index be6cabf11..09eb81dae 100644 --- a/kompassi/forms/graphql/survey_full.py +++ b/kompassi/forms/graphql/survey_full.py @@ -13,6 +13,7 @@ from ..models.form import Form from ..models.survey import Survey from ..utils.summarize_responses import summarize_responses +from .enums import CanResponsesBeDeletedType from .form import FormType from .response_full import FullResponseType from .response_limited import LimitedResponseType @@ -254,14 +255,27 @@ def resolve_can_remove(survey: Survey, info): description=normalize_whitespace(resolve_can_remove.__doc__ or ""), ) + @staticmethod + def resolve_responses_deletion_status(survey: Survey, info): + """ + Whether responses to this survey can be removed, and the reason if not + (see `Workflow.protect_responses` for what protects responses for this survey's app). + """ + request: HttpRequest = info.context + return survey.can_responses_be_deleted_by(request) + + responses_deletion_status = graphene.NonNull( + CanResponsesBeDeletedType, + description=normalize_whitespace(resolve_responses_deletion_status.__doc__ or ""), + ) + @staticmethod def resolve_can_remove_responses(survey: Survey, info): """ Checks that the user has permission to remove responses to this survey. - This requires proper CBAC permission and that `survey.protect_responses` is false. """ request: HttpRequest = info.context - return survey.can_responses_be_deleted_by(request) + return survey.can_responses_be_deleted_by(request).can_delete can_remove_responses = graphene.NonNull( graphene.Boolean, diff --git a/kompassi/forms/models/enums.py b/kompassi/forms/models/enums.py index f559b0138..0319f5c13 100644 --- a/kompassi/forms/models/enums.py +++ b/kompassi/forms/models/enums.py @@ -31,3 +31,33 @@ class EditMode(Enum): # An admin is editing items owned by others ADMIN = "ADMIN" + + +class CanResponsesBeDeleted(Enum): + """ + The result of a responses-deletion permission check, carrying the reason for a + negative answer so that UI and mutations don't need to re-derive it separately + (and risk disagreeing with the check itself). + """ + + YES = "YES" + + # Blocked by Survey.protect_responses (Forms) or ProgramV2EventMeta.protect_responses + # (program offers, program forms), depending on the survey's app. + NO_PROTECTED = "NO_PROTECTED" + + # The response is not its survey's current version (an old, superseded revision). + NO_OLD_VERSION = "NO_OLD_VERSION" + + # CBAC denied the operation. + NO_UNAUTHORIZED = "NO_UNAUTHORIZED" + + @property + def can_delete(self) -> bool: + return self == CanResponsesBeDeleted.YES + + def __bool__(self) -> bool: + # Plain Enum members are truthy regardless of their value, so without this, + # `if some_status:` would always be True, even for the NO_* members. Overriding + # it makes truthiness checks agree with `can_delete`/`== CanResponsesBeDeleted.YES`. + return self.can_delete diff --git a/kompassi/forms/models/survey.py b/kompassi/forms/models/survey.py index e5fa9bca5..b9ba0863f 100644 --- a/kompassi/forms/models/survey.py +++ b/kompassi/forms/models/survey.py @@ -35,7 +35,7 @@ from kompassi.involvement.models.registry import Registry from ..utils.merge_form_fields import merge_fields -from .enums import Anonymity, SurveyPurpose +from .enums import Anonymity, CanResponsesBeDeleted, SurveyPurpose if TYPE_CHECKING: from kompassi.badges.models.survey_to_badge import SurveyToBadgeMapping @@ -359,18 +359,8 @@ def can_be_deleted_by(self, request: HttpRequest): and not self.languages.exists() ) - # TODO(#714) Reconcile with Workflow.can_response_be_deleted_by - def can_responses_be_deleted_by(self, request: HttpRequest): - return ( - is_graphql_allowed_for_model( - request.user, - instance=self, - operation="delete", - field="responses", - app=self.app, - ) - and not self.protect_responses - ) + def can_responses_be_deleted_by(self, request: HttpRequest) -> CanResponsesBeDeleted: + return self.workflow.responses_can_be_deleted_by(request) def get_next_sequence_number(self): return (self.current_responses.all().aggregate(models.Max("sequence_number"))["sequence_number__max"] or 0) + 1 diff --git a/kompassi/forms/models/workflow.py b/kompassi/forms/models/workflow.py index 670b2c309..79cf458fc 100644 --- a/kompassi/forms/models/workflow.py +++ b/kompassi/forms/models/workflow.py @@ -16,7 +16,7 @@ from kompassi.graphql_api.utils import get_message_in_language from ..utils.lift_dimension_values import lift_dimension_values -from .enums import SurveyPurpose +from .enums import CanResponsesBeDeleted, SurveyPurpose from .response import Response from .survey import DimensionApp, Survey @@ -38,6 +38,15 @@ class Workflow(pydantic.BaseModel, arbitrary_types_allowed=True): def app(self) -> DimensionApp: return self.survey.app + @property + def protect_responses(self) -> bool: + """ + Whether responses to this survey are currently protected from deletion. + Overridden by workflows whose app protects responses at a different + granularity than per-survey (see eg. ProgramOfferWorkflow). + """ + return self.survey.protect_responses + @classmethod def get_workflow(cls, survey: Survey): from kompassi.program_v2.workflows.program_host_invitation import ProgramHostInvitationWorkflow @@ -306,23 +315,30 @@ def response_can_be_edited_by_admin( field="responses", ) - # TODO(#714) Reconcile with Survey.can_responses_be_deleted_by + def responses_can_be_deleted_by(self, request: HttpRequest) -> CanResponsesBeDeleted: + if self.protect_responses: + return CanResponsesBeDeleted.NO_PROTECTED + + if not is_graphql_allowed_for_model( + request.user, + instance=self.survey, + app=self.survey.app, + operation="delete", + field="responses", + ): + return CanResponsesBeDeleted.NO_UNAUTHORIZED + + return CanResponsesBeDeleted.YES + def response_can_be_deleted_by( self, response: Response, request: HttpRequest, - ) -> bool: - return ( - not response.survey.protect_responses - and response.is_current_version - and is_graphql_allowed_for_model( - request.user, - instance=response.survey, - app=response.survey.app, - operation="delete", - field="responses", - ) - ) + ) -> CanResponsesBeDeleted: + if not response.is_current_version: + return CanResponsesBeDeleted.NO_OLD_VERSION + + return self.responses_can_be_deleted_by(request) def response_can_be_accepted_by( self, diff --git a/kompassi/involvement/migrations/0012_alter_involvement_response.py b/kompassi/involvement/migrations/0012_alter_involvement_response.py new file mode 100644 index 000000000..97b80f103 --- /dev/null +++ b/kompassi/involvement/migrations/0012_alter_involvement_response.py @@ -0,0 +1,26 @@ +# Generated by Django 6.1 on 2026-09-01 20:40 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ # noqa: RUF012 + ("forms", "0057_rename_survey_app_name_purpose_slug"), + ("involvement", "0011_remove_involvement_involvement_involvement_app_involvementapp_and_more"), + ] + + operations = [ # noqa: RUF012 + migrations.AlterField( + model_name="involvement", + name="response", + field=models.ForeignKey( + blank=True, + db_index=False, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="involvements", + to="forms.response", + ), + ), + ] diff --git a/kompassi/involvement/models/involvement.py b/kompassi/involvement/models/involvement.py index 1d2ea8cf1..10468d349 100644 --- a/kompassi/involvement/models/involvement.py +++ b/kompassi/involvement/models/involvement.py @@ -95,7 +95,7 @@ class Involvement(models.Model): ) response: models.ForeignKey[Response] | None = models.ForeignKey( "forms.Response", - on_delete=models.CASCADE, + on_delete=models.SET_NULL, related_name="involvements", null=True, blank=True, @@ -170,7 +170,10 @@ def profile_field_selector(self) -> ProfileFieldSelector: case InvolvementType.COMBINED_PERKS: # TODO in rare edge cases, might reveal information that shouldn't be return ProfileFieldSelector.all_fields() - case _ if self.response is not None: + case InvolvementType.PROGRAM_OFFER | InvolvementType.SURVEY_RESPONSE: + if self.response is None: + # The response that produced this involvement has been deleted. + return ProfileFieldSelector() return self.response.survey.profile_field_selector case _: raise NotImplementedError(f"Profile field selector not implemented for involvement type {self.type!r}") @@ -220,6 +223,9 @@ def get_title(self) -> str | None: case InvolvementType.COMBINED_PERKS: # up to the emperkelator, can't figure out here return None + case InvolvementType.PROGRAM_OFFER | InvolvementType.SURVEY_RESPONSE: + # The response that produced this involvement has been deleted. + return None case _: raise TypeError(f"get_title(): Invalid involvement {self.id}") @@ -242,6 +248,9 @@ def admin_link(self) -> str: return f"{settings.KOMPASSI_BASE_URL}/events/{self.event.slug}/labour/admin/signups/{self.person.id}/" case InvolvementType.COMBINED_PERKS: return f"/{self.scope.slug}/people/{self.person.id}" + case InvolvementType.PROGRAM_OFFER | InvolvementType.SURVEY_RESPONSE: + # The response that produced this involvement has been deleted. + return f"/{self.scope.slug}/people/{self.person.id}" case _: raise TypeError(f"admin_link(): Invalid involvement {self.id}") diff --git a/kompassi/labour/migrations/0045_alter_signup_event_alter_signup_job_categories_and_more.py b/kompassi/labour/migrations/0045_alter_signup_event_alter_signup_job_categories_and_more.py new file mode 100644 index 000000000..7dc451002 --- /dev/null +++ b/kompassi/labour/migrations/0045_alter_signup_event_alter_signup_job_categories_and_more.py @@ -0,0 +1,42 @@ +# Generated by Django 6.1 on 2026-09-02 19:38 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ # noqa: RUF012 + ("core", "0044_organization_business_id"), + ("labour", "0044_delete_jobcategorymanagementproxy"), + ] + + operations = [ # noqa: RUF012 + migrations.AlterField( + model_name="signup", + name="event", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, related_name="signups", to="core.event" + ), + ), + migrations.AlterField( + model_name="signup", + name="job_categories", + field=models.ManyToManyField( + help_text="Valitse kaikki ne tehtävät, joissa olisit valmis työskentelemään tapahtumassa. Huomaathan, että sinulle tarjottavia tehtäviä voi rajoittaa se, mitä pätevyyksiä olet ilmoittanut sinulla olevan. Esimerkiksi järjestyksenvalvojaksi voivat ilmoittautua ainoastaan JV-kortilliset.", + related_name="signups", + to="labour.jobcategory", + verbose_name="Haettavat tehtävät", + ), + ), + migrations.AlterField( + model_name="signup", + name="personnel_classes", + field=models.ManyToManyField( + blank=True, + help_text="Mihin henkilöstöryhmiin tämä henkilö kuuluu? Henkilö saa valituista ryhmistä ylimmän mukaisen badgen.", + related_name="signups", + to="labour.personnelclass", + verbose_name="Henkilöstöluokat", + ), + ), + ] diff --git a/kompassi/program_v2/graphql/meta.py b/kompassi/program_v2/graphql/meta.py index 4aa517c23..5a0745c29 100644 --- a/kompassi/program_v2/graphql/meta.py +++ b/kompassi/program_v2/graphql/meta.py @@ -14,6 +14,7 @@ from kompassi.dimensions.graphql.dimension_full import FullDimensionType from kompassi.dimensions.graphql.universe_annotation_limited import LimitedUniverseAnnotationType from kompassi.dimensions.models.enums import AnnotationFlags, DimensionApp +from kompassi.forms.graphql.enums import CanResponsesBeDeletedType from kompassi.forms.graphql.response_full import FullResponseType from kompassi.forms.graphql.response_profile import ProfileResponseType from kompassi.forms.models.response import Response @@ -49,7 +50,7 @@ class ProgramV2EventMetaType(DjangoObjectType): class Meta: model = ProgramV2EventMeta - fields = ("public_from",) + fields = ("public_from", "protect_responses") is_schedule_public = graphene.NonNull(graphene.Boolean) @@ -493,9 +494,21 @@ def resolve_invitations(meta: ProgramV2EventMeta, info): invitations = graphene.NonNull(graphene.List(graphene.NonNull(FullInvitationType))) @staticmethod - def resolve_can_delete_program_offers(meta: ProgramV2EventMeta, info): + def resolve_program_offers_deletion_status(meta: ProgramV2EventMeta, info): + """ + Whether program offers can be removed, and the reason if not. + """ return meta.can_program_offers_be_deleted_by(info.context) + program_offers_deletion_status = graphene.NonNull( + CanResponsesBeDeletedType, + description=normalize_whitespace(resolve_program_offers_deletion_status.__doc__ or ""), + ) + + @staticmethod + def resolve_can_delete_program_offers(meta: ProgramV2EventMeta, info): + return meta.can_program_offers_be_deleted_by(info.context).can_delete + can_delete_program_offers = graphene.NonNull(graphene.Boolean) @staticmethod diff --git a/kompassi/program_v2/graphql/mutations/cancel_program_offer.py b/kompassi/program_v2/graphql/mutations/cancel_program_offer.py index 2d52c144b..ef80d7ec2 100644 --- a/kompassi/program_v2/graphql/mutations/cancel_program_offer.py +++ b/kompassi/program_v2/graphql/mutations/cancel_program_offer.py @@ -79,6 +79,10 @@ def mutate(_root, info, input: CancelProgramOfferInput): cache=involvement_dimensions_cache, ) case ProgramOfferResolution.DELETE: + status = program_offer.survey.workflow.response_can_be_deleted_by(program_offer, request) + if not status: + raise ValueError(f"Cannot delete this program offer: {status.name}") + emit( "forms.response.deleted", request=request, diff --git a/kompassi/program_v2/graphql/mutations/delete_program_offers.py b/kompassi/program_v2/graphql/mutations/delete_program_offers.py index ac7a66900..74597c39b 100644 --- a/kompassi/program_v2/graphql/mutations/delete_program_offers.py +++ b/kompassi/program_v2/graphql/mutations/delete_program_offers.py @@ -3,10 +3,7 @@ from django.http import HttpRequest from kompassi.core.models.event import Event -from kompassi.dimensions.models.enums import DimensionApp from kompassi.event_log_v2.utils.emit import emit -from kompassi.involvement.models.enums import InvolvementType -from kompassi.involvement.models.involvement import Involvement class DeleteProgramOffersInput(graphene.InputObjectType): @@ -34,8 +31,9 @@ def mutate( if meta is None: raise ValueError("Event does not have program V2 meta") - if not meta.can_program_offers_be_deleted_by(request): - raise ValueError("Cannot delete program offers") + status = meta.can_program_offers_be_deleted_by(request) + if not status: + raise ValueError(f"Cannot delete program offers: {status.name}") program_offer_ids: set[str] = set(input.program_offer_ids) # type: ignore if len(input.program_offer_ids) != len(program_offer_ids): # type: ignore @@ -46,16 +44,10 @@ def mutate( raise ValueError("Some program offers not found") old_versions = meta.all_program_offers.filter(superseded_by__in=program_offer_ids) - old_version_ids = set(old_versions.values_list("id", flat=True)) - - # We let the delete cascade to PROGRAM_OFFER involvements - # But we want to spare the PROGRAM_HOST involvements - Involvement.objects.filter( - universe=event.involvement_universe, - app=DimensionApp.PROGRAM, - type=InvolvementType.PROGRAM_HOST, - response__in=program_offer_ids.union(old_version_ids), - ).update(response=None) + + # Involvements referencing these responses (PROGRAM_OFFER and PROGRAM_HOST alike) + # survive the deletion with their response set to null (Involvement.response is + # SET_NULL); they are cleaned up when Involvement expiration is implemented. _, deleted_by_model = old_versions.delete() count_deleted = deleted_by_model.get("forms.Response", 0) diff --git a/kompassi/program_v2/graphql/mutations/update_program_preferences.py b/kompassi/program_v2/graphql/mutations/update_program_preferences.py index 77c32dd04..be049b2c0 100644 --- a/kompassi/program_v2/graphql/mutations/update_program_preferences.py +++ b/kompassi/program_v2/graphql/mutations/update_program_preferences.py @@ -11,6 +11,7 @@ class UpdateProgramPreferencesInput(graphene.InputObjectType): event_slug = graphene.String(required=True) public_from = graphene.DateTime() + protect_responses = graphene.Boolean() class UpdateProgramPreferences(graphene.Mutation): @@ -38,6 +39,10 @@ def mutate( if public_from is not None and is_naive(public_from): public_from = make_aware(public_from) meta.public_from = public_from - meta.save(update_fields=["public_from"]) + + if input.protect_responses is not None: + meta.protect_responses = input.protect_responses + + meta.save(update_fields=["public_from", "protect_responses"]) return UpdateProgramPreferences(preferences=meta) diff --git a/kompassi/program_v2/migrations/0054_programv2eventmeta_protect_responses.py b/kompassi/program_v2/migrations/0054_programv2eventmeta_protect_responses.py new file mode 100644 index 000000000..ac9250dfa --- /dev/null +++ b/kompassi/program_v2/migrations/0054_programv2eventmeta_protect_responses.py @@ -0,0 +1,20 @@ +# Generated by Django 6.1 on 2026-09-01 21:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ # noqa: RUF012 + ("program_v2", "0053_alter_programv2eventmeta_public_from"), + ] + + operations = [ # noqa: RUF012 + migrations.AddField( + model_name="programv2eventmeta", + name="protect_responses", + field=models.BooleanField( + default=True, + help_text="If enabled, program offers and program form responses cannot be deleted from the UI without disabling this first.", + ), + ), + ] diff --git a/kompassi/program_v2/models/meta.py b/kompassi/program_v2/models/meta.py index dfd2e5679..b28d9b34b 100644 --- a/kompassi/program_v2/models/meta.py +++ b/kompassi/program_v2/models/meta.py @@ -19,7 +19,7 @@ from kompassi.dimensions.models.scope import Scope from kompassi.dimensions.models.universe import Universe from kompassi.dimensions.models.universe_annotation import UniverseAnnotation -from kompassi.forms.models.enums import SurveyPurpose +from kompassi.forms.models.enums import CanResponsesBeDeleted, SurveyPurpose from kompassi.forms.models.response import Response from kompassi.forms.models.survey import Survey from kompassi.involvement.models.enums import InvolvementType @@ -76,6 +76,14 @@ class ProgramV2EventMeta(ContactEmailMixin, EventMetaBase): ), ) + protect_responses = models.BooleanField( + default=True, + help_text=( + "If enabled, program offers and program form responses cannot be deleted " + "from the UI without disabling this first." + ), + ) + use_cbac = True event: models.ForeignKey[Event] @@ -250,14 +258,20 @@ def ensure(self): def can_program_offers_be_deleted_by( self, request: HttpRequest, - ) -> bool: - return is_graphql_allowed_for_model( + ) -> CanResponsesBeDeleted: + if self.protect_responses: + return CanResponsesBeDeleted.NO_PROTECTED + + if not is_graphql_allowed_for_model( request.user, instance=self, # type: ignore app="program_v2", operation="delete", field="program_offers", - ) + ): + return CanResponsesBeDeleted.NO_UNAUTHORIZED + + return CanResponsesBeDeleted.YES @dataclass diff --git a/kompassi/program_v2/workflows/program_host_invitation.py b/kompassi/program_v2/workflows/program_host_invitation.py index a9ef71cbb..01a38b54b 100644 --- a/kompassi/program_v2/workflows/program_host_invitation.py +++ b/kompassi/program_v2/workflows/program_host_invitation.py @@ -13,6 +13,15 @@ class ProgramHostInvitationWorkflow(Workflow): XXX This Workflow is silly because everything is handled in accept_invitation.py. """ + @property + def protect_responses(self) -> bool: + """ + Program form responses are protected by the event-wide ProgramV2EventMeta.protect_responses + switch instead of Survey.protect_responses. + """ + meta = self.survey.event.program_v2_event_meta + return meta is None or meta.protect_responses + def ensure_involvement( self, response: Response, diff --git a/kompassi/program_v2/workflows/program_offer.py b/kompassi/program_v2/workflows/program_offer.py index a7c5c4594..a1aef828d 100644 --- a/kompassi/program_v2/workflows/program_offer.py +++ b/kompassi/program_v2/workflows/program_offer.py @@ -18,6 +18,15 @@ class ProgramOfferWorkflow(Workflow, arbitrary_types_allowed=True): survey: Survey + @property + def protect_responses(self) -> bool: + """ + Program offers are protected by the event-wide ProgramV2EventMeta.protect_responses + switch instead of Survey.protect_responses. + """ + meta = self.survey.event.program_v2_event_meta + return meta is None or meta.protect_responses + @classmethod def _get_default_dimension_values(cls, survey: Survey) -> dict[str, list[str]]: return {