From 51f75bb9304c7c938495627dea7a14e5ea1cd799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ja=C5=82ocha?= <76820915+mikolaj-jalocha@users.noreply.github.com> Date: Mon, 27 Jan 2025 09:22:49 +0100 Subject: [PATCH] feat(home): add planner advert (#557) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(planner-advert): setup data layer * feat(planner-advert): setup presentation layer * chore(planner-advert): code cleanup * feat(planner-advert): PR suggestions --------- Co-authored-by: Szymon Kowaliński --- lib/api_base/schema.graphql | 2886 +++++++++-------- lib/config/ttl_config.dart | 4 +- .../widgets/academic_calendar_consumer.dart | 2 +- lib/features/home_view/home_view.dart | 4 +- .../offline_messages/messages_config.dart | 1 + .../getPlannerAdvertContent.graphql | 8 + .../repository/planner_advert_repository.dart | 20 + .../widgets/planner_advert_widget.dart | 54 + .../presentation/sks_menu_screen.dart | 2 +- lib/l10n/app_pl.arb | 1 + ...orizontal_rectangular_section_loading.dart | 2 +- .../widgets/technical_message.dart | 12 +- 12 files changed, 1558 insertions(+), 1438 deletions(-) create mode 100644 lib/features/planner_advert/repository/getPlannerAdvertContent.graphql create mode 100644 lib/features/planner_advert/repository/planner_advert_repository.dart create mode 100644 lib/features/planner_advert/widgets/planner_advert_widget.dart rename lib/{features/home_view/widgets/loading_widgets => widgets/loading_widgets/simple_previews}/horizontal_rectangular_section_loading.dart (87%) rename lib/{features/sks-menu/presentation => }/widgets/technical_message.dart (80%) diff --git a/lib/api_base/schema.graphql b/lib/api_base/schema.graphql index 3809e89a..f3f5ee28 100644 --- a/lib/api_base/schema.graphql +++ b/lib/api_base/schema.graphql @@ -1,177 +1,179 @@ type Query { - Scientific_Circles_Tags(filter: Scientific_Circles_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Tags!]! - Scientific_Circles_Tags_by_id(id: ID!, version: String): Scientific_Circles_Tags - Scientific_Circles_Tags_aggregated(groupBy: [String], filter: Scientific_Circles_Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_Tags_aggregated!]! - Scientific_Circles_Tags_by_version(version: String!, id: ID!): version_Scientific_Circles_Tags - Tags(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Tags!]! - Tags_by_id(id: ID!, version: String): Tags - Tags_aggregated(groupBy: [String], filter: Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Tags_aggregated!]! - Tags_by_version(version: String!, id: ID!): version_Tags - Posts_Tags(filter: Posts_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts_Tags!]! - Posts_Tags_by_id(id: ID!, version: String): Posts_Tags - Posts_Tags_aggregated(groupBy: [String], filter: Posts_Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Posts_Tags_aggregated!]! - Posts_Tags_by_version(version: String!, id: ID!): version_Posts_Tags - Scientific_Circles_Links(filter: Scientific_Circles_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Links!]! - Scientific_Circles_Links_by_id(id: ID!, version: String): Scientific_Circles_Links - Scientific_Circles_Links_aggregated(groupBy: [String], filter: Scientific_Circles_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_Links_aggregated!]! - Scientific_Circles_Links_by_version(version: String!, id: ID!): version_Scientific_Circles_Links - Posts(filter: Posts_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts!]! - Posts_by_id(id: ID!, version: String): Posts - Posts_aggregated(groupBy: [String], filter: Posts_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Posts_aggregated!]! - Posts_by_version(version: String!, id: ID!): version_Posts - AcademicCalendarData(version: String): AcademicCalendarData - AcademicCalendarData_by_version(version: String!): version_AcademicCalendarData - WeekExceptions(filter: WeekExceptions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [WeekExceptions!]! - WeekExceptions_by_id(id: ID!, version: String): WeekExceptions - WeekExceptions_aggregated(groupBy: [String], filter: WeekExceptions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [WeekExceptions_aggregated!]! - WeekExceptions_by_version(version: String!, id: ID!): version_WeekExceptions - AboutUs(version: String): AboutUs - AboutUs_by_version(version: String!): version_AboutUs - AboutUs_Team(filter: AboutUs_Team_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team!]! - AboutUs_Team_by_id(id: ID!, version: String): AboutUs_Team - AboutUs_Team_aggregated(groupBy: [String], filter: AboutUs_Team_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Team_aggregated!]! - AboutUs_Team_by_version(version: String!, id: ID!): version_AboutUs_Team - AboutUs_Solvro_Social_Links(filter: AboutUs_Solvro_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Solvro_Social_Links!]! - AboutUs_Solvro_Social_Links_by_id(id: ID!, version: String): AboutUs_Solvro_Social_Links - AboutUs_Solvro_Social_Links_aggregated(groupBy: [String], filter: AboutUs_Solvro_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Solvro_Social_Links_aggregated!]! - AboutUs_Solvro_Social_Links_by_version(version: String!, id: ID!): version_AboutUs_Solvro_Social_Links - Departments(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments!]! - Departments_by_id(id: ID!, version: String): Departments - Departments_aggregated(groupBy: [String], filter: Departments_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Departments_aggregated!]! - Departments_by_version(version: String!, id: ID!): version_Departments - FAQ(filter: FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ!]! - FAQ_by_id(id: ID!, version: String): FAQ - FAQ_aggregated(groupBy: [String], filter: FAQ_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_aggregated!]! - FAQ_by_version(version: String!, id: ID!): version_FAQ - FAQ_Types(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types!]! - FAQ_Types_by_id(id: ID!, version: String): FAQ_Types - FAQ_Types_aggregated(groupBy: [String], filter: FAQ_Types_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_Types_aggregated!]! - FAQ_Types_by_version(version: String!, id: ID!): version_FAQ_Types - Departments_Links(filter: Departments_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments_Links!]! - Departments_Links_by_id(id: ID!, version: String): Departments_Links - Departments_Links_aggregated(groupBy: [String], filter: Departments_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Departments_Links_aggregated!]! - Departments_Links_by_version(version: String!, id: ID!): version_Departments_Links - FieldOfStudy(filter: FieldOfStudy_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FieldOfStudy!]! - FieldOfStudy_by_id(id: ID!, version: String): FieldOfStudy - FieldOfStudy_aggregated(groupBy: [String], filter: FieldOfStudy_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FieldOfStudy_aggregated!]! - FieldOfStudy_by_version(version: String!, id: ID!): version_FieldOfStudy - CacheReferenceNumber(version: String): CacheReferenceNumber - CacheReferenceNumber_by_version(version: String!): version_CacheReferenceNumber - AboutUs_Team_Social_Links(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team_Social_Links!]! - AboutUs_Team_Social_Links_by_id(id: ID!, version: String): AboutUs_Team_Social_Links - AboutUs_Team_Social_Links_aggregated(groupBy: [String], filter: AboutUs_Team_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Team_Social_Links_aggregated!]! - AboutUs_Team_Social_Links_by_version(version: String!, id: ID!): version_AboutUs_Team_Social_Links - FAQ_Types_FAQ(filter: FAQ_Types_FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types_FAQ!]! - FAQ_Types_FAQ_by_id(id: ID!, version: String): FAQ_Types_FAQ - FAQ_Types_FAQ_aggregated(groupBy: [String], filter: FAQ_Types_FAQ_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_Types_FAQ_aggregated!]! - FAQ_Types_FAQ_by_version(version: String!, id: ID!): version_FAQ_Types_FAQ - Changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog!]! - Changelog_by_id(id: ID!, version: String): Changelog - Changelog_aggregated(groupBy: [String], filter: Changelog_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_aggregated!]! - Changelog_by_version(version: String!, id: ID!): version_Changelog - Changelog_Change(filter: Changelog_Change_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Change!]! - Changelog_Change_by_id(id: ID!, version: String): Changelog_Change - Changelog_Change_aggregated(groupBy: [String], filter: Changelog_Change_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_Change_aggregated!]! - Changelog_Change_by_version(version: String!, id: ID!): version_Changelog_Change - Changelog_Screenshots(filter: Changelog_Screenshots_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Screenshots!]! - Changelog_Screenshots_by_id(id: ID!, version: String): Changelog_Screenshots - Changelog_Screenshots_aggregated(groupBy: [String], filter: Changelog_Screenshots_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_Screenshots_aggregated!]! - Changelog_Screenshots_by_version(version: String!, id: ID!): version_Changelog_Screenshots - Scientific_Circles(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles!]! - Scientific_Circles_by_id(id: ID!, version: String): Scientific_Circles - Scientific_Circles_aggregated(groupBy: [String], filter: Scientific_Circles_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_aggregated!]! - Scientific_Circles_by_version(version: String!, id: ID!): version_Scientific_Circles - TeamVersion_Members_AboutUs_Team_Social_Links(filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members_AboutUs_Team_Social_Links!]! - TeamVersion_Members_AboutUs_Team_Social_Links_by_id(id: ID!, version: String): TeamVersion_Members_AboutUs_Team_Social_Links - TeamVersion_Members_AboutUs_Team_Social_Links_aggregated(groupBy: [String], filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersion_Members_AboutUs_Team_Social_Links_aggregated!]! - TeamVersion_Members_AboutUs_Team_Social_Links_by_version(version: String!, id: ID!): version_TeamVersion_Members_AboutUs_Team_Social_Links - TeamVersion_Members(filter: TeamVersion_Members_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members!]! - TeamVersion_Members_by_id(id: ID!, version: String): TeamVersion_Members - TeamVersion_Members_aggregated(groupBy: [String], filter: TeamVersion_Members_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersion_Members_aggregated!]! - TeamVersion_Members_by_version(version: String!, id: ID!): version_TeamVersion_Members - TeamVersions(filter: TeamVersions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersions!]! - TeamVersions_by_id(id: ID!, version: String): TeamVersions - TeamVersions_aggregated(groupBy: [String], filter: TeamVersions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersions_aggregated!]! - TeamVersions_by_version(version: String!, id: ID!): version_TeamVersions - Buildings(filter: Buildings_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Buildings!]! - Buildings_by_id(id: ID!, version: String): Buildings - Buildings_aggregated(groupBy: [String], filter: Buildings_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Buildings_aggregated!]! - Buildings_by_version(version: String!, id: ID!): version_Buildings + Scientific_Circles_Tags(filter: Scientific_Circles_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Tags!]! + Scientific_Circles_Tags_by_id(id: ID!, version: String): Scientific_Circles_Tags + Scientific_Circles_Tags_aggregated(groupBy: [String], filter: Scientific_Circles_Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_Tags_aggregated!]! + Scientific_Circles_Tags_by_version(version: String!, id: ID!): version_Scientific_Circles_Tags + Tags(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Tags!]! + Tags_by_id(id: ID!, version: String): Tags + Tags_aggregated(groupBy: [String], filter: Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Tags_aggregated!]! + Tags_by_version(version: String!, id: ID!): version_Tags + Posts_Tags(filter: Posts_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts_Tags!]! + Posts_Tags_by_id(id: ID!, version: String): Posts_Tags + Posts_Tags_aggregated(groupBy: [String], filter: Posts_Tags_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Posts_Tags_aggregated!]! + Posts_Tags_by_version(version: String!, id: ID!): version_Posts_Tags + Scientific_Circles_Links(filter: Scientific_Circles_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Links!]! + Scientific_Circles_Links_by_id(id: ID!, version: String): Scientific_Circles_Links + Scientific_Circles_Links_aggregated(groupBy: [String], filter: Scientific_Circles_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_Links_aggregated!]! + Scientific_Circles_Links_by_version(version: String!, id: ID!): version_Scientific_Circles_Links + Posts(filter: Posts_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts!]! + Posts_by_id(id: ID!, version: String): Posts + Posts_aggregated(groupBy: [String], filter: Posts_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Posts_aggregated!]! + Posts_by_version(version: String!, id: ID!): version_Posts + AcademicCalendarData(version: String): AcademicCalendarData + AcademicCalendarData_by_version(version: String!): version_AcademicCalendarData + WeekExceptions(filter: WeekExceptions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [WeekExceptions!]! + WeekExceptions_by_id(id: ID!, version: String): WeekExceptions + WeekExceptions_aggregated(groupBy: [String], filter: WeekExceptions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [WeekExceptions_aggregated!]! + WeekExceptions_by_version(version: String!, id: ID!): version_WeekExceptions + AboutUs(version: String): AboutUs + AboutUs_by_version(version: String!): version_AboutUs + AboutUs_Team(filter: AboutUs_Team_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team!]! + AboutUs_Team_by_id(id: ID!, version: String): AboutUs_Team + AboutUs_Team_aggregated(groupBy: [String], filter: AboutUs_Team_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Team_aggregated!]! + AboutUs_Team_by_version(version: String!, id: ID!): version_AboutUs_Team + AboutUs_Solvro_Social_Links(filter: AboutUs_Solvro_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Solvro_Social_Links!]! + AboutUs_Solvro_Social_Links_by_id(id: ID!, version: String): AboutUs_Solvro_Social_Links + AboutUs_Solvro_Social_Links_aggregated(groupBy: [String], filter: AboutUs_Solvro_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Solvro_Social_Links_aggregated!]! + AboutUs_Solvro_Social_Links_by_version(version: String!, id: ID!): version_AboutUs_Solvro_Social_Links + Departments(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments!]! + Departments_by_id(id: ID!, version: String): Departments + Departments_aggregated(groupBy: [String], filter: Departments_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Departments_aggregated!]! + Departments_by_version(version: String!, id: ID!): version_Departments + FAQ(filter: FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ!]! + FAQ_by_id(id: ID!, version: String): FAQ + FAQ_aggregated(groupBy: [String], filter: FAQ_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_aggregated!]! + FAQ_by_version(version: String!, id: ID!): version_FAQ + FAQ_Types(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types!]! + FAQ_Types_by_id(id: ID!, version: String): FAQ_Types + FAQ_Types_aggregated(groupBy: [String], filter: FAQ_Types_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_Types_aggregated!]! + FAQ_Types_by_version(version: String!, id: ID!): version_FAQ_Types + Departments_Links(filter: Departments_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments_Links!]! + Departments_Links_by_id(id: ID!, version: String): Departments_Links + Departments_Links_aggregated(groupBy: [String], filter: Departments_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Departments_Links_aggregated!]! + Departments_Links_by_version(version: String!, id: ID!): version_Departments_Links + FieldOfStudy(filter: FieldOfStudy_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FieldOfStudy!]! + FieldOfStudy_by_id(id: ID!, version: String): FieldOfStudy + FieldOfStudy_aggregated(groupBy: [String], filter: FieldOfStudy_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FieldOfStudy_aggregated!]! + FieldOfStudy_by_version(version: String!, id: ID!): version_FieldOfStudy + CacheReferenceNumber(version: String): CacheReferenceNumber + CacheReferenceNumber_by_version(version: String!): version_CacheReferenceNumber + AboutUs_Team_Social_Links(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team_Social_Links!]! + AboutUs_Team_Social_Links_by_id(id: ID!, version: String): AboutUs_Team_Social_Links + AboutUs_Team_Social_Links_aggregated(groupBy: [String], filter: AboutUs_Team_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [AboutUs_Team_Social_Links_aggregated!]! + AboutUs_Team_Social_Links_by_version(version: String!, id: ID!): version_AboutUs_Team_Social_Links + FAQ_Types_FAQ(filter: FAQ_Types_FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types_FAQ!]! + FAQ_Types_FAQ_by_id(id: ID!, version: String): FAQ_Types_FAQ + FAQ_Types_FAQ_aggregated(groupBy: [String], filter: FAQ_Types_FAQ_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [FAQ_Types_FAQ_aggregated!]! + FAQ_Types_FAQ_by_version(version: String!, id: ID!): version_FAQ_Types_FAQ + Changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog!]! + Changelog_by_id(id: ID!, version: String): Changelog + Changelog_aggregated(groupBy: [String], filter: Changelog_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_aggregated!]! + Changelog_by_version(version: String!, id: ID!): version_Changelog + Changelog_Change(filter: Changelog_Change_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Change!]! + Changelog_Change_by_id(id: ID!, version: String): Changelog_Change + Changelog_Change_aggregated(groupBy: [String], filter: Changelog_Change_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_Change_aggregated!]! + Changelog_Change_by_version(version: String!, id: ID!): version_Changelog_Change + Changelog_Screenshots(filter: Changelog_Screenshots_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Screenshots!]! + Changelog_Screenshots_by_id(id: ID!, version: String): Changelog_Screenshots + Changelog_Screenshots_aggregated(groupBy: [String], filter: Changelog_Screenshots_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Changelog_Screenshots_aggregated!]! + Changelog_Screenshots_by_version(version: String!, id: ID!): version_Changelog_Screenshots + Scientific_Circles(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles!]! + Scientific_Circles_by_id(id: ID!, version: String): Scientific_Circles + Scientific_Circles_aggregated(groupBy: [String], filter: Scientific_Circles_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Scientific_Circles_aggregated!]! + Scientific_Circles_by_version(version: String!, id: ID!): version_Scientific_Circles + TeamVersion_Members_AboutUs_Team_Social_Links(filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members_AboutUs_Team_Social_Links!]! + TeamVersion_Members_AboutUs_Team_Social_Links_by_id(id: ID!, version: String): TeamVersion_Members_AboutUs_Team_Social_Links + TeamVersion_Members_AboutUs_Team_Social_Links_aggregated(groupBy: [String], filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersion_Members_AboutUs_Team_Social_Links_aggregated!]! + TeamVersion_Members_AboutUs_Team_Social_Links_by_version(version: String!, id: ID!): version_TeamVersion_Members_AboutUs_Team_Social_Links + TeamVersion_Members(filter: TeamVersion_Members_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members!]! + TeamVersion_Members_by_id(id: ID!, version: String): TeamVersion_Members + TeamVersion_Members_aggregated(groupBy: [String], filter: TeamVersion_Members_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersion_Members_aggregated!]! + TeamVersion_Members_by_version(version: String!, id: ID!): version_TeamVersion_Members + TeamVersions(filter: TeamVersions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersions!]! + TeamVersions_by_id(id: ID!, version: String): TeamVersions + TeamVersions_aggregated(groupBy: [String], filter: TeamVersions_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [TeamVersions_aggregated!]! + TeamVersions_by_version(version: String!, id: ID!): version_TeamVersions + Buildings(filter: Buildings_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Buildings!]! + Buildings_by_id(id: ID!, version: String): Buildings + Buildings_aggregated(groupBy: [String], filter: Buildings_filter, limit: Int, offset: Int, page: Int, search: String, sort: [String]): [Buildings_aggregated!]! + Buildings_by_version(version: String!, id: ID!): version_Buildings + PlannerAdvert(version: String): PlannerAdvert + PlannerAdvert_by_version(version: String!): version_PlannerAdvert } type Scientific_Circles_Tags { - id: ID! - Scientific_Circles_id(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Scientific_Circles - Tags_id(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Tags + id: ID! + Scientific_Circles_id(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Scientific_Circles + Tags_id(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Tags } type Scientific_Circles { - id: ID! - status: String - sort: Int - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - name: String! - logo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - description: String - type: String - source: String - shortDescription: String - department(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments - desc2: String - useCoverAsPreviewPhoto: Boolean - isStrategic: Boolean! - tags(filter: Scientific_Circles_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Tags] - tags_func: count_functions - links(filter: Scientific_Circles_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Links] - links_func: count_functions + id: ID! + status: String + sort: Int + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + name: String! + logo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + description: String + type: String + source: String + shortDescription: String + department(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments + desc2: String + useCoverAsPreviewPhoto: Boolean + isStrategic: Boolean! + tags(filter: Scientific_Circles_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Tags] + tags_func: count_functions + links(filter: Scientific_Circles_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Scientific_Circles_Links] + links_func: count_functions } """ISO8601 Date values""" scalar Date type datetime_functions { - year: Int - month: Int - week: Int - day: Int - weekday: Int - hour: Int - minute: Int - second: Int + year: Int + month: Int + week: Int + day: Int + weekday: Int + hour: Int + minute: Int + second: Int } type directus_files { - id: ID! - storage: String! - filename_disk: String - filename_download: String! - title: String - type: String - folder: String - uploaded_by: String - uploaded_on: Date - uploaded_on_func: datetime_functions - modified_by: String - modified_on: Date - modified_on_func: datetime_functions - charset: String - filesize: GraphQLBigInt - width: Int - height: Int - duration: Int - embed: String - description: String - location: String - tags: JSON - tags_func: count_functions - metadata: JSON - metadata_func: count_functions - focal_point_x: Int - focal_point_y: Int + id: ID! + storage: String! + filename_disk: String + filename_download: String! + title: String + type: String + folder: String + uploaded_by: String + uploaded_on: Date + uploaded_on_func: datetime_functions + modified_by: String + modified_on: Date + modified_on_func: datetime_functions + charset: String + filesize: GraphQLBigInt + width: Int + height: Int + duration: Int + embed: String + description: String + location: String + tags: JSON + tags_func: count_functions + metadata: JSON + metadata_func: count_functions + focal_point_x: Int + focal_point_y: Int } """BigInt value""" @@ -183,1851 +185,1875 @@ The `JSON` scalar type represents JSON values as specified by [ECMA-404](http:// scalar JSON type count_functions { - count: Int + count: Int } input directus_files_filter { - id: string_filter_operators - storage: string_filter_operators - filename_disk: string_filter_operators - filename_download: string_filter_operators - title: string_filter_operators - type: string_filter_operators - folder: string_filter_operators - uploaded_by: string_filter_operators - uploaded_on: date_filter_operators - uploaded_on_func: datetime_function_filter_operators - modified_by: string_filter_operators - modified_on: date_filter_operators - modified_on_func: datetime_function_filter_operators - charset: string_filter_operators - filesize: big_int_filter_operators - width: number_filter_operators - height: number_filter_operators - duration: number_filter_operators - embed: string_filter_operators - description: string_filter_operators - location: string_filter_operators - tags: string_filter_operators - tags_func: count_function_filter_operators - metadata: string_filter_operators - metadata_func: count_function_filter_operators - focal_point_x: number_filter_operators - focal_point_y: number_filter_operators - _and: [directus_files_filter] - _or: [directus_files_filter] + id: string_filter_operators + storage: string_filter_operators + filename_disk: string_filter_operators + filename_download: string_filter_operators + title: string_filter_operators + type: string_filter_operators + folder: string_filter_operators + uploaded_by: string_filter_operators + uploaded_on: date_filter_operators + uploaded_on_func: datetime_function_filter_operators + modified_by: string_filter_operators + modified_on: date_filter_operators + modified_on_func: datetime_function_filter_operators + charset: string_filter_operators + filesize: big_int_filter_operators + width: number_filter_operators + height: number_filter_operators + duration: number_filter_operators + embed: string_filter_operators + description: string_filter_operators + location: string_filter_operators + tags: string_filter_operators + tags_func: count_function_filter_operators + metadata: string_filter_operators + metadata_func: count_function_filter_operators + focal_point_x: number_filter_operators + focal_point_y: number_filter_operators + _and: [directus_files_filter] + _or: [directus_files_filter] } input string_filter_operators { - _eq: String - _neq: String - _contains: String - _icontains: String - _ncontains: String - _starts_with: String - _nstarts_with: String - _istarts_with: String - _nistarts_with: String - _ends_with: String - _nends_with: String - _iends_with: String - _niends_with: String - _in: [String] - _nin: [String] - _null: Boolean - _nnull: Boolean - _empty: Boolean - _nempty: Boolean + _eq: String + _neq: String + _contains: String + _icontains: String + _ncontains: String + _starts_with: String + _nstarts_with: String + _istarts_with: String + _nistarts_with: String + _ends_with: String + _nends_with: String + _iends_with: String + _niends_with: String + _in: [String] + _nin: [String] + _null: Boolean + _nnull: Boolean + _empty: Boolean + _nempty: Boolean } input date_filter_operators { - _eq: String - _neq: String - _gt: String - _gte: String - _lt: String - _lte: String - _null: Boolean - _nnull: Boolean - _in: [String] - _nin: [String] - _between: [GraphQLStringOrFloat] - _nbetween: [GraphQLStringOrFloat] + _eq: String + _neq: String + _gt: String + _gte: String + _lt: String + _lte: String + _null: Boolean + _nnull: Boolean + _in: [String] + _nin: [String] + _between: [GraphQLStringOrFloat] + _nbetween: [GraphQLStringOrFloat] } """A Float or a String""" scalar GraphQLStringOrFloat input datetime_function_filter_operators { - year: number_filter_operators - month: number_filter_operators - week: number_filter_operators - day: number_filter_operators - weekday: number_filter_operators - hour: number_filter_operators - minute: number_filter_operators - second: number_filter_operators + year: number_filter_operators + month: number_filter_operators + week: number_filter_operators + day: number_filter_operators + weekday: number_filter_operators + hour: number_filter_operators + minute: number_filter_operators + second: number_filter_operators } input number_filter_operators { - _eq: GraphQLStringOrFloat - _neq: GraphQLStringOrFloat - _in: [GraphQLStringOrFloat] - _nin: [GraphQLStringOrFloat] - _gt: GraphQLStringOrFloat - _gte: GraphQLStringOrFloat - _lt: GraphQLStringOrFloat - _lte: GraphQLStringOrFloat - _null: Boolean - _nnull: Boolean - _between: [GraphQLStringOrFloat] - _nbetween: [GraphQLStringOrFloat] + _eq: GraphQLStringOrFloat + _neq: GraphQLStringOrFloat + _in: [GraphQLStringOrFloat] + _nin: [GraphQLStringOrFloat] + _gt: GraphQLStringOrFloat + _gte: GraphQLStringOrFloat + _lt: GraphQLStringOrFloat + _lte: GraphQLStringOrFloat + _null: Boolean + _nnull: Boolean + _between: [GraphQLStringOrFloat] + _nbetween: [GraphQLStringOrFloat] } input big_int_filter_operators { - _eq: GraphQLBigInt - _neq: GraphQLBigInt - _in: [GraphQLBigInt] - _nin: [GraphQLBigInt] - _gt: GraphQLBigInt - _gte: GraphQLBigInt - _lt: GraphQLBigInt - _lte: GraphQLBigInt - _null: Boolean - _nnull: Boolean - _between: [GraphQLBigInt] - _nbetween: [GraphQLBigInt] + _eq: GraphQLBigInt + _neq: GraphQLBigInt + _in: [GraphQLBigInt] + _nin: [GraphQLBigInt] + _gt: GraphQLBigInt + _gte: GraphQLBigInt + _lt: GraphQLBigInt + _lte: GraphQLBigInt + _null: Boolean + _nnull: Boolean + _between: [GraphQLBigInt] + _nbetween: [GraphQLBigInt] } input count_function_filter_operators { - count: number_filter_operators + count: number_filter_operators } type Departments { - id: ID! - name: String! - logo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - description: String - code: String! - gradient_start: String - gradient_end: String - address: String - betterCode: String - links(filter: Departments_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments_Links] - links_func: count_functions - fieldsOfStudies(filter: FieldOfStudy_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FieldOfStudy] - fieldsOfStudies_func: count_functions + id: ID! + name: String! + logo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + description: String + code: String! + gradient_start: String + gradient_end: String + address: String + betterCode: String + links(filter: Departments_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Departments_Links] + links_func: count_functions + fieldsOfStudies(filter: FieldOfStudy_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FieldOfStudy] + fieldsOfStudies_func: count_functions } type Departments_Links { - id: ID! - name: String - link: String - department_id(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments + id: ID! + name: String + link: String + department_id(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments } input Departments_filter { - id: number_filter_operators - name: string_filter_operators - logo: directus_files_filter - description: string_filter_operators - code: string_filter_operators - gradient_start: string_filter_operators - gradient_end: string_filter_operators - address: string_filter_operators - betterCode: string_filter_operators - links: Departments_Links_filter - links_func: count_function_filter_operators - fieldsOfStudies: FieldOfStudy_filter - fieldsOfStudies_func: count_function_filter_operators - _and: [Departments_filter] - _or: [Departments_filter] + id: number_filter_operators + name: string_filter_operators + logo: directus_files_filter + description: string_filter_operators + code: string_filter_operators + gradient_start: string_filter_operators + gradient_end: string_filter_operators + address: string_filter_operators + betterCode: string_filter_operators + links: Departments_Links_filter + links_func: count_function_filter_operators + fieldsOfStudies: FieldOfStudy_filter + fieldsOfStudies_func: count_function_filter_operators + _and: [Departments_filter] + _or: [Departments_filter] } input Departments_Links_filter { - id: number_filter_operators - name: string_filter_operators - link: string_filter_operators - department_id: Departments_filter - _and: [Departments_Links_filter] - _or: [Departments_Links_filter] + id: number_filter_operators + name: string_filter_operators + link: string_filter_operators + department_id: Departments_filter + _and: [Departments_Links_filter] + _or: [Departments_Links_filter] } input FieldOfStudy_filter { - id: number_filter_operators - department_id: Departments_filter - name: string_filter_operators - url: string_filter_operators - isEnglish: boolean_filter_operators - is2ndDegree: boolean_filter_operators - isLongCycleStudies: boolean_filter_operators - hasWeekendModeOption: boolean_filter_operators - _and: [FieldOfStudy_filter] - _or: [FieldOfStudy_filter] + id: number_filter_operators + department_id: Departments_filter + name: string_filter_operators + url: string_filter_operators + isEnglish: boolean_filter_operators + is2ndDegree: boolean_filter_operators + isLongCycleStudies: boolean_filter_operators + hasWeekendModeOption: boolean_filter_operators + _and: [FieldOfStudy_filter] + _or: [FieldOfStudy_filter] } input boolean_filter_operators { - _eq: Boolean - _neq: Boolean - _null: Boolean - _nnull: Boolean + _eq: Boolean + _neq: Boolean + _null: Boolean + _nnull: Boolean } type FieldOfStudy { - id: ID! - department_id(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments - name: String! - url: String - isEnglish: Boolean - is2ndDegree: Boolean - isLongCycleStudies: Boolean - hasWeekendModeOption: Boolean + id: ID! + department_id(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments + name: String! + url: String + isEnglish: Boolean + is2ndDegree: Boolean + isLongCycleStudies: Boolean + hasWeekendModeOption: Boolean } input Scientific_Circles_Tags_filter { - id: number_filter_operators - Scientific_Circles_id: Scientific_Circles_filter - Tags_id: Tags_filter - _and: [Scientific_Circles_Tags_filter] - _or: [Scientific_Circles_Tags_filter] + id: number_filter_operators + Scientific_Circles_id: Scientific_Circles_filter + Tags_id: Tags_filter + _and: [Scientific_Circles_Tags_filter] + _or: [Scientific_Circles_Tags_filter] } input Scientific_Circles_filter { - id: number_filter_operators - status: string_filter_operators - sort: number_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - name: string_filter_operators - logo: directus_files_filter - cover: directus_files_filter - description: string_filter_operators - type: string_filter_operators - source: string_filter_operators - shortDescription: string_filter_operators - department: Departments_filter - desc2: string_filter_operators - useCoverAsPreviewPhoto: boolean_filter_operators - isStrategic: boolean_filter_operators - tags: Scientific_Circles_Tags_filter - tags_func: count_function_filter_operators - links: Scientific_Circles_Links_filter - links_func: count_function_filter_operators - _and: [Scientific_Circles_filter] - _or: [Scientific_Circles_filter] + id: number_filter_operators + status: string_filter_operators + sort: number_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + name: string_filter_operators + logo: directus_files_filter + cover: directus_files_filter + description: string_filter_operators + type: string_filter_operators + source: string_filter_operators + shortDescription: string_filter_operators + department: Departments_filter + desc2: string_filter_operators + useCoverAsPreviewPhoto: boolean_filter_operators + isStrategic: boolean_filter_operators + tags: Scientific_Circles_Tags_filter + tags_func: count_function_filter_operators + links: Scientific_Circles_Links_filter + links_func: count_function_filter_operators + _and: [Scientific_Circles_filter] + _or: [Scientific_Circles_filter] } input Scientific_Circles_Links_filter { - id: number_filter_operators - name: string_filter_operators - link: string_filter_operators - scientific_circle_id: Scientific_Circles_filter - _and: [Scientific_Circles_Links_filter] - _or: [Scientific_Circles_Links_filter] + id: number_filter_operators + name: string_filter_operators + link: string_filter_operators + scientific_circle_id: Scientific_Circles_filter + _and: [Scientific_Circles_Links_filter] + _or: [Scientific_Circles_Links_filter] } input Tags_filter { - id: number_filter_operators - name: string_filter_operators - _and: [Tags_filter] - _or: [Tags_filter] + id: number_filter_operators + name: string_filter_operators + _and: [Tags_filter] + _or: [Tags_filter] } type Scientific_Circles_Links { - id: ID! - name: String - link: String - scientific_circle_id(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Scientific_Circles + id: ID! + name: String + link: String + scientific_circle_id(filter: Scientific_Circles_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Scientific_Circles } type Tags { - id: ID! - name: String! + id: ID! + name: String! } type Scientific_Circles_Tags_aggregated { - group: JSON - countAll: Int - count: Scientific_Circles_Tags_aggregated_count - countDistinct: Scientific_Circles_Tags_aggregated_count - avg: Scientific_Circles_Tags_aggregated_fields - sum: Scientific_Circles_Tags_aggregated_fields - avgDistinct: Scientific_Circles_Tags_aggregated_fields - sumDistinct: Scientific_Circles_Tags_aggregated_fields - min: Scientific_Circles_Tags_aggregated_fields - max: Scientific_Circles_Tags_aggregated_fields + group: JSON + countAll: Int + count: Scientific_Circles_Tags_aggregated_count + countDistinct: Scientific_Circles_Tags_aggregated_count + avg: Scientific_Circles_Tags_aggregated_fields + sum: Scientific_Circles_Tags_aggregated_fields + avgDistinct: Scientific_Circles_Tags_aggregated_fields + sumDistinct: Scientific_Circles_Tags_aggregated_fields + min: Scientific_Circles_Tags_aggregated_fields + max: Scientific_Circles_Tags_aggregated_fields } type Scientific_Circles_Tags_aggregated_count { - id: Int - Scientific_Circles_id: Int - Tags_id: Int + id: Int + Scientific_Circles_id: Int + Tags_id: Int } type Scientific_Circles_Tags_aggregated_fields { - id: Float - Scientific_Circles_id: Float - Tags_id: Float + id: Float + Scientific_Circles_id: Float + Tags_id: Float } """""" type version_Scientific_Circles_Tags { - id: ID! - Scientific_Circles_id: JSON - Tags_id: JSON + id: ID! + Scientific_Circles_id: JSON + Tags_id: JSON } type Tags_aggregated { - group: JSON - countAll: Int - count: Tags_aggregated_count - countDistinct: Tags_aggregated_count - avg: Tags_aggregated_fields - sum: Tags_aggregated_fields - avgDistinct: Tags_aggregated_fields - sumDistinct: Tags_aggregated_fields - min: Tags_aggregated_fields - max: Tags_aggregated_fields + group: JSON + countAll: Int + count: Tags_aggregated_count + countDistinct: Tags_aggregated_count + avg: Tags_aggregated_fields + sum: Tags_aggregated_fields + avgDistinct: Tags_aggregated_fields + sumDistinct: Tags_aggregated_fields + min: Tags_aggregated_fields + max: Tags_aggregated_fields } type Tags_aggregated_count { - id: Int - name: Int + id: Int + name: Int } type Tags_aggregated_fields { - id: Float + id: Float } """""" type version_Tags { - id: ID! - name: String! + id: ID! + name: String! } type Posts_Tags { - id: ID! - Posts_id(filter: Posts_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Posts - Tags_id(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Tags + id: ID! + Posts_id(filter: Posts_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Posts + Tags_id(filter: Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Tags } type Posts { - id: ID! - status: String - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - content: String - title: String! - department(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments - cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - tags(filter: Posts_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts_Tags] - tags_func: count_functions + id: ID! + status: String + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + content: String + title: String! + department(filter: Departments_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Departments + cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + tags(filter: Posts_Tags_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Posts_Tags] + tags_func: count_functions } input Posts_Tags_filter { - id: number_filter_operators - Posts_id: Posts_filter - Tags_id: Tags_filter - _and: [Posts_Tags_filter] - _or: [Posts_Tags_filter] + id: number_filter_operators + Posts_id: Posts_filter + Tags_id: Tags_filter + _and: [Posts_Tags_filter] + _or: [Posts_Tags_filter] } input Posts_filter { - id: number_filter_operators - status: string_filter_operators - sort: number_filter_operators - user_created: string_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - user_updated: string_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - content: string_filter_operators - title: string_filter_operators - department: Departments_filter - cover: directus_files_filter - tags: Posts_Tags_filter - tags_func: count_function_filter_operators - _and: [Posts_filter] - _or: [Posts_filter] + id: number_filter_operators + status: string_filter_operators + sort: number_filter_operators + user_created: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_updated: string_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + content: string_filter_operators + title: string_filter_operators + department: Departments_filter + cover: directus_files_filter + tags: Posts_Tags_filter + tags_func: count_function_filter_operators + _and: [Posts_filter] + _or: [Posts_filter] } type Posts_Tags_aggregated { - group: JSON - countAll: Int - count: Posts_Tags_aggregated_count - countDistinct: Posts_Tags_aggregated_count - avg: Posts_Tags_aggregated_fields - sum: Posts_Tags_aggregated_fields - avgDistinct: Posts_Tags_aggregated_fields - sumDistinct: Posts_Tags_aggregated_fields - min: Posts_Tags_aggregated_fields - max: Posts_Tags_aggregated_fields + group: JSON + countAll: Int + count: Posts_Tags_aggregated_count + countDistinct: Posts_Tags_aggregated_count + avg: Posts_Tags_aggregated_fields + sum: Posts_Tags_aggregated_fields + avgDistinct: Posts_Tags_aggregated_fields + sumDistinct: Posts_Tags_aggregated_fields + min: Posts_Tags_aggregated_fields + max: Posts_Tags_aggregated_fields } type Posts_Tags_aggregated_count { - id: Int - Posts_id: Int - Tags_id: Int + id: Int + Posts_id: Int + Tags_id: Int } type Posts_Tags_aggregated_fields { - id: Float - Posts_id: Float - Tags_id: Float + id: Float + Posts_id: Float + Tags_id: Float } """""" type version_Posts_Tags { - id: ID! - Posts_id: JSON - Tags_id: JSON + id: ID! + Posts_id: JSON + Tags_id: JSON } type Scientific_Circles_Links_aggregated { - group: JSON - countAll: Int - count: Scientific_Circles_Links_aggregated_count - countDistinct: Scientific_Circles_Links_aggregated_count - avg: Scientific_Circles_Links_aggregated_fields - sum: Scientific_Circles_Links_aggregated_fields - avgDistinct: Scientific_Circles_Links_aggregated_fields - sumDistinct: Scientific_Circles_Links_aggregated_fields - min: Scientific_Circles_Links_aggregated_fields - max: Scientific_Circles_Links_aggregated_fields + group: JSON + countAll: Int + count: Scientific_Circles_Links_aggregated_count + countDistinct: Scientific_Circles_Links_aggregated_count + avg: Scientific_Circles_Links_aggregated_fields + sum: Scientific_Circles_Links_aggregated_fields + avgDistinct: Scientific_Circles_Links_aggregated_fields + sumDistinct: Scientific_Circles_Links_aggregated_fields + min: Scientific_Circles_Links_aggregated_fields + max: Scientific_Circles_Links_aggregated_fields } type Scientific_Circles_Links_aggregated_count { - id: Int - name: Int - link: Int - scientific_circle_id: Int + id: Int + name: Int + link: Int + scientific_circle_id: Int } type Scientific_Circles_Links_aggregated_fields { - id: Float - scientific_circle_id: Float + id: Float + scientific_circle_id: Float } """""" type version_Scientific_Circles_Links { - id: ID! - name: String - link: String - scientific_circle_id: JSON + id: ID! + name: String + link: String + scientific_circle_id: JSON } type Posts_aggregated { - group: JSON - countAll: Int - count: Posts_aggregated_count - countDistinct: Posts_aggregated_count - avg: Posts_aggregated_fields - sum: Posts_aggregated_fields - avgDistinct: Posts_aggregated_fields - sumDistinct: Posts_aggregated_fields - min: Posts_aggregated_fields - max: Posts_aggregated_fields + group: JSON + countAll: Int + count: Posts_aggregated_count + countDistinct: Posts_aggregated_count + avg: Posts_aggregated_fields + sum: Posts_aggregated_fields + avgDistinct: Posts_aggregated_fields + sumDistinct: Posts_aggregated_fields + min: Posts_aggregated_fields + max: Posts_aggregated_fields } type Posts_aggregated_count { - id: Int - status: Int - sort: Int - user_created: Int - date_created: Int - user_updated: Int - date_updated: Int - content: Int - title: Int - department: Int - cover: Int - tags: Int + id: Int + status: Int + sort: Int + user_created: Int + date_created: Int + user_updated: Int + date_updated: Int + content: Int + title: Int + department: Int + cover: Int + tags: Int } type Posts_aggregated_fields { - id: Float - sort: Float - department: Float + id: Float + sort: Float + department: Float } """""" type version_Posts { - id: ID! - status: String - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - content: String - title: String! - department: JSON - cover: JSON - tags: JSON - tags_func: count_functions + id: ID! + status: String + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + content: String + title: String! + department: JSON + cover: JSON + tags: JSON + tags_func: count_functions } type AcademicCalendarData { - id: ID! - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - semesterStartDate: Date! - semesterStartDate_func: date_functions - examSessionStartDate: Date! - examSessionStartDate_func: date_functions - isFirstWeekEven: Boolean! - examSessionLastDay: Date! - examSessionLastDay_func: date_functions + id: ID! + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + semesterStartDate: Date! + semesterStartDate_func: date_functions + examSessionStartDate: Date! + examSessionStartDate_func: date_functions + isFirstWeekEven: Boolean! + examSessionLastDay: Date! + examSessionLastDay_func: date_functions } type date_functions { - year: Int - month: Int - week: Int - day: Int - weekday: Int + year: Int + month: Int + week: Int + day: Int + weekday: Int } """""" type version_AcademicCalendarData { - id: ID! - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - semesterStartDate: Date! - semesterStartDate_func: date_functions - examSessionStartDate: Date! - examSessionStartDate_func: date_functions - isFirstWeekEven: Boolean! - examSessionLastDay: Date! - examSessionLastDay_func: date_functions + id: ID! + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + semesterStartDate: Date! + semesterStartDate_func: date_functions + examSessionStartDate: Date! + examSessionStartDate_func: date_functions + isFirstWeekEven: Boolean! + examSessionLastDay: Date! + examSessionLastDay_func: date_functions } type WeekExceptions { - id: ID! - day: Date! - day_func: date_functions - changedWeekday: String! - changedDayIsEven: Boolean! + id: ID! + day: Date! + day_func: date_functions + changedWeekday: String! + changedDayIsEven: Boolean! } input WeekExceptions_filter { - id: number_filter_operators - day: date_filter_operators - day_func: date_function_filter_operators - changedWeekday: string_filter_operators - changedDayIsEven: boolean_filter_operators - _and: [WeekExceptions_filter] - _or: [WeekExceptions_filter] + id: number_filter_operators + day: date_filter_operators + day_func: date_function_filter_operators + changedWeekday: string_filter_operators + changedDayIsEven: boolean_filter_operators + _and: [WeekExceptions_filter] + _or: [WeekExceptions_filter] } input date_function_filter_operators { - year: number_filter_operators - month: number_filter_operators - week: number_filter_operators - day: number_filter_operators - weekday: number_filter_operators + year: number_filter_operators + month: number_filter_operators + week: number_filter_operators + day: number_filter_operators + weekday: number_filter_operators } type WeekExceptions_aggregated { - group: JSON - countAll: Int - count: WeekExceptions_aggregated_count - countDistinct: WeekExceptions_aggregated_count - avg: WeekExceptions_aggregated_fields - sum: WeekExceptions_aggregated_fields - avgDistinct: WeekExceptions_aggregated_fields - sumDistinct: WeekExceptions_aggregated_fields - min: WeekExceptions_aggregated_fields - max: WeekExceptions_aggregated_fields + group: JSON + countAll: Int + count: WeekExceptions_aggregated_count + countDistinct: WeekExceptions_aggregated_count + avg: WeekExceptions_aggregated_fields + sum: WeekExceptions_aggregated_fields + avgDistinct: WeekExceptions_aggregated_fields + sumDistinct: WeekExceptions_aggregated_fields + min: WeekExceptions_aggregated_fields + max: WeekExceptions_aggregated_fields } type WeekExceptions_aggregated_count { - id: Int - day: Int - changedWeekday: Int - changedDayIsEven: Int + id: Int + day: Int + changedWeekday: Int + changedDayIsEven: Int } type WeekExceptions_aggregated_fields { - id: Float + id: Float } """""" type version_WeekExceptions { - id: ID! - day: Date! - day_func: date_functions - changedWeekday: String! - changedDayIsEven: Boolean! + id: ID! + day: Date! + day_func: date_functions + changedWeekday: String! + changedDayIsEven: Boolean! } type AboutUs { - id: ID! - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - description: String! - cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - solvroSocialLinks(filter: AboutUs_Solvro_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Solvro_Social_Links] - solvroSocialLinks_func: count_functions + id: ID! + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + description: String! + cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + solvroSocialLinks(filter: AboutUs_Solvro_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Solvro_Social_Links] + solvroSocialLinks_func: count_functions } type AboutUs_Solvro_Social_Links { - id: ID! - url: String! - parent_id(filter: AboutUs_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs + id: ID! + url: String! + parent_id(filter: AboutUs_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs } input AboutUs_filter { - id: number_filter_operators - user_updated: string_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - description: string_filter_operators - cover: directus_files_filter - solvroSocialLinks: AboutUs_Solvro_Social_Links_filter - solvroSocialLinks_func: count_function_filter_operators - _and: [AboutUs_filter] - _or: [AboutUs_filter] + id: number_filter_operators + user_updated: string_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + description: string_filter_operators + cover: directus_files_filter + solvroSocialLinks: AboutUs_Solvro_Social_Links_filter + solvroSocialLinks_func: count_function_filter_operators + _and: [AboutUs_filter] + _or: [AboutUs_filter] } input AboutUs_Solvro_Social_Links_filter { - id: number_filter_operators - url: string_filter_operators - parent_id: AboutUs_filter - _and: [AboutUs_Solvro_Social_Links_filter] - _or: [AboutUs_Solvro_Social_Links_filter] + id: number_filter_operators + url: string_filter_operators + parent_id: AboutUs_filter + _and: [AboutUs_Solvro_Social_Links_filter] + _or: [AboutUs_Solvro_Social_Links_filter] } """""" type version_AboutUs { - id: ID! - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - description: String! - cover: JSON - solvroSocialLinks: JSON - solvroSocialLinks_func: count_functions + id: ID! + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + description: String! + cover: JSON + solvroSocialLinks: JSON + solvroSocialLinks_func: count_functions } type AboutUs_Team { - id: ID! - name: String! - subtitle: String - photo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - sort: Int! - socialLinks(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team_Social_Links] - socialLinks_func: count_functions + id: ID! + name: String! + subtitle: String + photo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + sort: Int! + socialLinks(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [AboutUs_Team_Social_Links] + socialLinks_func: count_functions } type AboutUs_Team_Social_Links { - id: ID! - url: String! - team_member_id(filter: AboutUs_Team_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs_Team - sort: Int + id: ID! + url: String! + team_member_id(filter: AboutUs_Team_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs_Team + sort: Int } input AboutUs_Team_filter { - id: number_filter_operators - name: string_filter_operators - subtitle: string_filter_operators - photo: directus_files_filter - sort: number_filter_operators - socialLinks: AboutUs_Team_Social_Links_filter - socialLinks_func: count_function_filter_operators - _and: [AboutUs_Team_filter] - _or: [AboutUs_Team_filter] + id: number_filter_operators + name: string_filter_operators + subtitle: string_filter_operators + photo: directus_files_filter + sort: number_filter_operators + socialLinks: AboutUs_Team_Social_Links_filter + socialLinks_func: count_function_filter_operators + _and: [AboutUs_Team_filter] + _or: [AboutUs_Team_filter] } input AboutUs_Team_Social_Links_filter { - id: number_filter_operators - url: string_filter_operators - team_member_id: AboutUs_Team_filter - sort: number_filter_operators - _and: [AboutUs_Team_Social_Links_filter] - _or: [AboutUs_Team_Social_Links_filter] + id: number_filter_operators + url: string_filter_operators + team_member_id: AboutUs_Team_filter + sort: number_filter_operators + _and: [AboutUs_Team_Social_Links_filter] + _or: [AboutUs_Team_Social_Links_filter] } type AboutUs_Team_aggregated { - group: JSON - countAll: Int - count: AboutUs_Team_aggregated_count - countDistinct: AboutUs_Team_aggregated_count - avg: AboutUs_Team_aggregated_fields - sum: AboutUs_Team_aggregated_fields - avgDistinct: AboutUs_Team_aggregated_fields - sumDistinct: AboutUs_Team_aggregated_fields - min: AboutUs_Team_aggregated_fields - max: AboutUs_Team_aggregated_fields + group: JSON + countAll: Int + count: AboutUs_Team_aggregated_count + countDistinct: AboutUs_Team_aggregated_count + avg: AboutUs_Team_aggregated_fields + sum: AboutUs_Team_aggregated_fields + avgDistinct: AboutUs_Team_aggregated_fields + sumDistinct: AboutUs_Team_aggregated_fields + min: AboutUs_Team_aggregated_fields + max: AboutUs_Team_aggregated_fields } type AboutUs_Team_aggregated_count { - id: Int - name: Int - subtitle: Int - photo: Int - sort: Int - socialLinks: Int + id: Int + name: Int + subtitle: Int + photo: Int + sort: Int + socialLinks: Int } type AboutUs_Team_aggregated_fields { - id: Float - sort: Float + id: Float + sort: Float } """""" type version_AboutUs_Team { - id: ID! - name: String! - subtitle: String - photo: JSON - sort: Int! - socialLinks: JSON - socialLinks_func: count_functions + id: ID! + name: String! + subtitle: String + photo: JSON + sort: Int! + socialLinks: JSON + socialLinks_func: count_functions } type AboutUs_Solvro_Social_Links_aggregated { - group: JSON - countAll: Int - count: AboutUs_Solvro_Social_Links_aggregated_count - countDistinct: AboutUs_Solvro_Social_Links_aggregated_count - avg: AboutUs_Solvro_Social_Links_aggregated_fields - sum: AboutUs_Solvro_Social_Links_aggregated_fields - avgDistinct: AboutUs_Solvro_Social_Links_aggregated_fields - sumDistinct: AboutUs_Solvro_Social_Links_aggregated_fields - min: AboutUs_Solvro_Social_Links_aggregated_fields - max: AboutUs_Solvro_Social_Links_aggregated_fields + group: JSON + countAll: Int + count: AboutUs_Solvro_Social_Links_aggregated_count + countDistinct: AboutUs_Solvro_Social_Links_aggregated_count + avg: AboutUs_Solvro_Social_Links_aggregated_fields + sum: AboutUs_Solvro_Social_Links_aggregated_fields + avgDistinct: AboutUs_Solvro_Social_Links_aggregated_fields + sumDistinct: AboutUs_Solvro_Social_Links_aggregated_fields + min: AboutUs_Solvro_Social_Links_aggregated_fields + max: AboutUs_Solvro_Social_Links_aggregated_fields } type AboutUs_Solvro_Social_Links_aggregated_count { - id: Int - url: Int - parent_id: Int + id: Int + url: Int + parent_id: Int } type AboutUs_Solvro_Social_Links_aggregated_fields { - id: Float - parent_id: Float + id: Float + parent_id: Float } """""" type version_AboutUs_Solvro_Social_Links { - id: ID! - url: String! - parent_id: JSON + id: ID! + url: String! + parent_id: JSON } type Departments_aggregated { - group: JSON - countAll: Int - count: Departments_aggregated_count - countDistinct: Departments_aggregated_count - avg: Departments_aggregated_fields - sum: Departments_aggregated_fields - avgDistinct: Departments_aggregated_fields - sumDistinct: Departments_aggregated_fields - min: Departments_aggregated_fields - max: Departments_aggregated_fields + group: JSON + countAll: Int + count: Departments_aggregated_count + countDistinct: Departments_aggregated_count + avg: Departments_aggregated_fields + sum: Departments_aggregated_fields + avgDistinct: Departments_aggregated_fields + sumDistinct: Departments_aggregated_fields + min: Departments_aggregated_fields + max: Departments_aggregated_fields } type Departments_aggregated_count { - id: Int - name: Int - logo: Int - description: Int - code: Int - gradient_start: Int - gradient_end: Int - address: Int - betterCode: Int - links: Int - fieldsOfStudies: Int + id: Int + name: Int + logo: Int + description: Int + code: Int + gradient_start: Int + gradient_end: Int + address: Int + betterCode: Int + links: Int + fieldsOfStudies: Int } type Departments_aggregated_fields { - id: Float + id: Float } """""" type version_Departments { - id: ID! - name: String! - logo: JSON - description: String - code: String! - gradient_start: String - gradient_end: String - address: String - betterCode: String - links: JSON - links_func: count_functions - fieldsOfStudies: JSON - fieldsOfStudies_func: count_functions + id: ID! + name: String! + logo: JSON + description: String + code: String! + gradient_start: String + gradient_end: String + address: String + betterCode: String + links: JSON + links_func: count_functions + fieldsOfStudies: JSON + fieldsOfStudies_func: count_functions } type FAQ { - id: ID! - status: String - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - question: String - answer: String - type(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ_Types + id: ID! + status: String + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + question: String + answer: String + type(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ_Types } type FAQ_Types { - id: ID! - name: String - cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - short_description: String - description: String - order: Int! - questions(filter: FAQ_Types_FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types_FAQ] - questions_func: count_functions + id: ID! + name: String + cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + short_description: String + description: String + order: Int! + questions(filter: FAQ_Types_FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [FAQ_Types_FAQ] + questions_func: count_functions } type FAQ_Types_FAQ { - id: ID! - FAQ_Types_id(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ_Types - FAQ_id(filter: FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ - sort: Int + id: ID! + FAQ_Types_id(filter: FAQ_Types_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ_Types + FAQ_id(filter: FAQ_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): FAQ + sort: Int } input FAQ_Types_filter { - id: number_filter_operators - name: string_filter_operators - cover: directus_files_filter - short_description: string_filter_operators - description: string_filter_operators - order: number_filter_operators - questions: FAQ_Types_FAQ_filter - questions_func: count_function_filter_operators - _and: [FAQ_Types_filter] - _or: [FAQ_Types_filter] + id: number_filter_operators + name: string_filter_operators + cover: directus_files_filter + short_description: string_filter_operators + description: string_filter_operators + order: number_filter_operators + questions: FAQ_Types_FAQ_filter + questions_func: count_function_filter_operators + _and: [FAQ_Types_filter] + _or: [FAQ_Types_filter] } input FAQ_Types_FAQ_filter { - id: number_filter_operators - FAQ_Types_id: FAQ_Types_filter - FAQ_id: FAQ_filter - sort: number_filter_operators - _and: [FAQ_Types_FAQ_filter] - _or: [FAQ_Types_FAQ_filter] + id: number_filter_operators + FAQ_Types_id: FAQ_Types_filter + FAQ_id: FAQ_filter + sort: number_filter_operators + _and: [FAQ_Types_FAQ_filter] + _or: [FAQ_Types_FAQ_filter] } input FAQ_filter { - id: number_filter_operators - status: string_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - question: string_filter_operators - answer: string_filter_operators - type: FAQ_Types_filter - _and: [FAQ_filter] - _or: [FAQ_filter] + id: number_filter_operators + status: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + question: string_filter_operators + answer: string_filter_operators + type: FAQ_Types_filter + _and: [FAQ_filter] + _or: [FAQ_filter] } type FAQ_aggregated { - group: JSON - countAll: Int - count: FAQ_aggregated_count - countDistinct: FAQ_aggregated_count - avg: FAQ_aggregated_fields - sum: FAQ_aggregated_fields - avgDistinct: FAQ_aggregated_fields - sumDistinct: FAQ_aggregated_fields - min: FAQ_aggregated_fields - max: FAQ_aggregated_fields + group: JSON + countAll: Int + count: FAQ_aggregated_count + countDistinct: FAQ_aggregated_count + avg: FAQ_aggregated_fields + sum: FAQ_aggregated_fields + avgDistinct: FAQ_aggregated_fields + sumDistinct: FAQ_aggregated_fields + min: FAQ_aggregated_fields + max: FAQ_aggregated_fields } type FAQ_aggregated_count { - id: Int - status: Int - date_created: Int - date_updated: Int - question: Int - answer: Int - type: Int + id: Int + status: Int + date_created: Int + date_updated: Int + question: Int + answer: Int + type: Int } type FAQ_aggregated_fields { - id: Float - type: Float + id: Float + type: Float } """""" type version_FAQ { - id: ID! - status: String - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - question: String - answer: String - type: JSON + id: ID! + status: String + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + question: String + answer: String + type: JSON } type FAQ_Types_aggregated { - group: JSON - countAll: Int - count: FAQ_Types_aggregated_count - countDistinct: FAQ_Types_aggregated_count - avg: FAQ_Types_aggregated_fields - sum: FAQ_Types_aggregated_fields - avgDistinct: FAQ_Types_aggregated_fields - sumDistinct: FAQ_Types_aggregated_fields - min: FAQ_Types_aggregated_fields - max: FAQ_Types_aggregated_fields + group: JSON + countAll: Int + count: FAQ_Types_aggregated_count + countDistinct: FAQ_Types_aggregated_count + avg: FAQ_Types_aggregated_fields + sum: FAQ_Types_aggregated_fields + avgDistinct: FAQ_Types_aggregated_fields + sumDistinct: FAQ_Types_aggregated_fields + min: FAQ_Types_aggregated_fields + max: FAQ_Types_aggregated_fields } type FAQ_Types_aggregated_count { - id: Int - name: Int - cover: Int - short_description: Int - description: Int - order: Int - questions: Int + id: Int + name: Int + cover: Int + short_description: Int + description: Int + order: Int + questions: Int } type FAQ_Types_aggregated_fields { - id: Float - order: Float + id: Float + order: Float } """""" type version_FAQ_Types { - id: ID! - name: String - cover: JSON - short_description: String - description: String - order: Int! - questions: JSON - questions_func: count_functions + id: ID! + name: String + cover: JSON + short_description: String + description: String + order: Int! + questions: JSON + questions_func: count_functions } type Departments_Links_aggregated { - group: JSON - countAll: Int - count: Departments_Links_aggregated_count - countDistinct: Departments_Links_aggregated_count - avg: Departments_Links_aggregated_fields - sum: Departments_Links_aggregated_fields - avgDistinct: Departments_Links_aggregated_fields - sumDistinct: Departments_Links_aggregated_fields - min: Departments_Links_aggregated_fields - max: Departments_Links_aggregated_fields + group: JSON + countAll: Int + count: Departments_Links_aggregated_count + countDistinct: Departments_Links_aggregated_count + avg: Departments_Links_aggregated_fields + sum: Departments_Links_aggregated_fields + avgDistinct: Departments_Links_aggregated_fields + sumDistinct: Departments_Links_aggregated_fields + min: Departments_Links_aggregated_fields + max: Departments_Links_aggregated_fields } type Departments_Links_aggregated_count { - id: Int - name: Int - link: Int - department_id: Int + id: Int + name: Int + link: Int + department_id: Int } type Departments_Links_aggregated_fields { - id: Float - department_id: Float + id: Float + department_id: Float } """""" type version_Departments_Links { - id: ID! - name: String - link: String - department_id: JSON + id: ID! + name: String + link: String + department_id: JSON } type FieldOfStudy_aggregated { - group: JSON - countAll: Int - count: FieldOfStudy_aggregated_count - countDistinct: FieldOfStudy_aggregated_count - avg: FieldOfStudy_aggregated_fields - sum: FieldOfStudy_aggregated_fields - avgDistinct: FieldOfStudy_aggregated_fields - sumDistinct: FieldOfStudy_aggregated_fields - min: FieldOfStudy_aggregated_fields - max: FieldOfStudy_aggregated_fields + group: JSON + countAll: Int + count: FieldOfStudy_aggregated_count + countDistinct: FieldOfStudy_aggregated_count + avg: FieldOfStudy_aggregated_fields + sum: FieldOfStudy_aggregated_fields + avgDistinct: FieldOfStudy_aggregated_fields + sumDistinct: FieldOfStudy_aggregated_fields + min: FieldOfStudy_aggregated_fields + max: FieldOfStudy_aggregated_fields } type FieldOfStudy_aggregated_count { - id: Int - department_id: Int - name: Int - url: Int - isEnglish: Int - is2ndDegree: Int - isLongCycleStudies: Int - hasWeekendModeOption: Int + id: Int + department_id: Int + name: Int + url: Int + isEnglish: Int + is2ndDegree: Int + isLongCycleStudies: Int + hasWeekendModeOption: Int } type FieldOfStudy_aggregated_fields { - id: Float - department_id: Float + id: Float + department_id: Float } """""" type version_FieldOfStudy { - id: ID! - department_id: JSON - name: String! - url: String - isEnglish: Boolean - is2ndDegree: Boolean - isLongCycleStudies: Boolean - hasWeekendModeOption: Boolean + id: ID! + department_id: JSON + name: String! + url: String + isEnglish: Boolean + is2ndDegree: Boolean + isLongCycleStudies: Boolean + hasWeekendModeOption: Boolean } type CacheReferenceNumber { - id: ID! - status: String - date_updated: Date - date_updated_func: datetime_functions - referenceNumber: Int + id: ID! + status: String + date_updated: Date + date_updated_func: datetime_functions + referenceNumber: Int } """""" type version_CacheReferenceNumber { - id: ID! - status: String - date_updated: Date - date_updated_func: datetime_functions - referenceNumber: Int + id: ID! + status: String + date_updated: Date + date_updated_func: datetime_functions + referenceNumber: Int } type AboutUs_Team_Social_Links_aggregated { - group: JSON - countAll: Int - count: AboutUs_Team_Social_Links_aggregated_count - countDistinct: AboutUs_Team_Social_Links_aggregated_count - avg: AboutUs_Team_Social_Links_aggregated_fields - sum: AboutUs_Team_Social_Links_aggregated_fields - avgDistinct: AboutUs_Team_Social_Links_aggregated_fields - sumDistinct: AboutUs_Team_Social_Links_aggregated_fields - min: AboutUs_Team_Social_Links_aggregated_fields - max: AboutUs_Team_Social_Links_aggregated_fields + group: JSON + countAll: Int + count: AboutUs_Team_Social_Links_aggregated_count + countDistinct: AboutUs_Team_Social_Links_aggregated_count + avg: AboutUs_Team_Social_Links_aggregated_fields + sum: AboutUs_Team_Social_Links_aggregated_fields + avgDistinct: AboutUs_Team_Social_Links_aggregated_fields + sumDistinct: AboutUs_Team_Social_Links_aggregated_fields + min: AboutUs_Team_Social_Links_aggregated_fields + max: AboutUs_Team_Social_Links_aggregated_fields } type AboutUs_Team_Social_Links_aggregated_count { - id: Int - url: Int - team_member_id: Int - sort: Int + id: Int + url: Int + team_member_id: Int + sort: Int } type AboutUs_Team_Social_Links_aggregated_fields { - id: Float - team_member_id: Float - sort: Float + id: Float + team_member_id: Float + sort: Float } """""" type version_AboutUs_Team_Social_Links { - id: ID! - url: String! - team_member_id: JSON - sort: Int + id: ID! + url: String! + team_member_id: JSON + sort: Int } type FAQ_Types_FAQ_aggregated { - group: JSON - countAll: Int - count: FAQ_Types_FAQ_aggregated_count - countDistinct: FAQ_Types_FAQ_aggregated_count - avg: FAQ_Types_FAQ_aggregated_fields - sum: FAQ_Types_FAQ_aggregated_fields - avgDistinct: FAQ_Types_FAQ_aggregated_fields - sumDistinct: FAQ_Types_FAQ_aggregated_fields - min: FAQ_Types_FAQ_aggregated_fields - max: FAQ_Types_FAQ_aggregated_fields + group: JSON + countAll: Int + count: FAQ_Types_FAQ_aggregated_count + countDistinct: FAQ_Types_FAQ_aggregated_count + avg: FAQ_Types_FAQ_aggregated_fields + sum: FAQ_Types_FAQ_aggregated_fields + avgDistinct: FAQ_Types_FAQ_aggregated_fields + sumDistinct: FAQ_Types_FAQ_aggregated_fields + min: FAQ_Types_FAQ_aggregated_fields + max: FAQ_Types_FAQ_aggregated_fields } type FAQ_Types_FAQ_aggregated_count { - id: Int - FAQ_Types_id: Int - FAQ_id: Int - sort: Int + id: Int + FAQ_Types_id: Int + FAQ_id: Int + sort: Int } type FAQ_Types_FAQ_aggregated_fields { - id: Float - FAQ_Types_id: Float - FAQ_id: Float - sort: Float + id: Float + FAQ_Types_id: Float + FAQ_id: Float + sort: Float } """""" type version_FAQ_Types_FAQ { - id: ID! - FAQ_Types_id: JSON - FAQ_id: JSON - sort: Int + id: ID! + FAQ_Types_id: JSON + FAQ_id: JSON + sort: Int } type Changelog { - id: ID! - status: String - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - versionString: String - changes(filter: Changelog_Change_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Change] - changes_func: count_functions - screenshots(filter: Changelog_Screenshots_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Screenshots] - screenshots_func: count_functions + id: ID! + status: String + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + versionString: String + changes(filter: Changelog_Change_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Change] + changes_func: count_functions + screenshots(filter: Changelog_Screenshots_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [Changelog_Screenshots] + screenshots_func: count_functions } type Changelog_Change { - id: ID! - sort: Int - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - changeDescription: String! - changeType: String! - fk_changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Changelog + id: ID! + sort: Int + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + changeDescription: String! + changeType: String! + fk_changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Changelog } input Changelog_filter { - id: number_filter_operators - status: string_filter_operators - user_created: string_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - user_updated: string_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - versionString: string_filter_operators - changes: Changelog_Change_filter - changes_func: count_function_filter_operators - screenshots: Changelog_Screenshots_filter - screenshots_func: count_function_filter_operators - _and: [Changelog_filter] - _or: [Changelog_filter] + id: number_filter_operators + status: string_filter_operators + user_created: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_updated: string_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + versionString: string_filter_operators + changes: Changelog_Change_filter + changes_func: count_function_filter_operators + screenshots: Changelog_Screenshots_filter + screenshots_func: count_function_filter_operators + _and: [Changelog_filter] + _or: [Changelog_filter] } input Changelog_Change_filter { - id: number_filter_operators - sort: number_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - changeDescription: string_filter_operators - changeType: string_filter_operators - fk_changelog: Changelog_filter - _and: [Changelog_Change_filter] - _or: [Changelog_Change_filter] + id: number_filter_operators + sort: number_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + changeDescription: string_filter_operators + changeType: string_filter_operators + fk_changelog: Changelog_filter + _and: [Changelog_Change_filter] + _or: [Changelog_Change_filter] } input Changelog_Screenshots_filter { - id: number_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - fk_changelog: Changelog_filter - screenshot_preview: directus_files_filter - _and: [Changelog_Screenshots_filter] - _or: [Changelog_Screenshots_filter] + id: number_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + fk_changelog: Changelog_filter + screenshot_preview: directus_files_filter + _and: [Changelog_Screenshots_filter] + _or: [Changelog_Screenshots_filter] } type Changelog_Screenshots { - id: ID! - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - fk_changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Changelog - screenshot_preview(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + id: ID! + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + fk_changelog(filter: Changelog_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): Changelog + screenshot_preview(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files } type Changelog_aggregated { - group: JSON - countAll: Int - count: Changelog_aggregated_count - countDistinct: Changelog_aggregated_count - avg: Changelog_aggregated_fields - sum: Changelog_aggregated_fields - avgDistinct: Changelog_aggregated_fields - sumDistinct: Changelog_aggregated_fields - min: Changelog_aggregated_fields - max: Changelog_aggregated_fields + group: JSON + countAll: Int + count: Changelog_aggregated_count + countDistinct: Changelog_aggregated_count + avg: Changelog_aggregated_fields + sum: Changelog_aggregated_fields + avgDistinct: Changelog_aggregated_fields + sumDistinct: Changelog_aggregated_fields + min: Changelog_aggregated_fields + max: Changelog_aggregated_fields } type Changelog_aggregated_count { - id: Int - status: Int - user_created: Int - date_created: Int - user_updated: Int - date_updated: Int - versionString: Int - changes: Int - screenshots: Int + id: Int + status: Int + user_created: Int + date_created: Int + user_updated: Int + date_updated: Int + versionString: Int + changes: Int + screenshots: Int } type Changelog_aggregated_fields { - id: Float + id: Float } """""" type version_Changelog { - id: ID! - status: String - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - versionString: String - changes: JSON - changes_func: count_functions - screenshots: JSON - screenshots_func: count_functions + id: ID! + status: String + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + versionString: String + changes: JSON + changes_func: count_functions + screenshots: JSON + screenshots_func: count_functions } type Changelog_Change_aggregated { - group: JSON - countAll: Int - count: Changelog_Change_aggregated_count - countDistinct: Changelog_Change_aggregated_count - avg: Changelog_Change_aggregated_fields - sum: Changelog_Change_aggregated_fields - avgDistinct: Changelog_Change_aggregated_fields - sumDistinct: Changelog_Change_aggregated_fields - min: Changelog_Change_aggregated_fields - max: Changelog_Change_aggregated_fields + group: JSON + countAll: Int + count: Changelog_Change_aggregated_count + countDistinct: Changelog_Change_aggregated_count + avg: Changelog_Change_aggregated_fields + sum: Changelog_Change_aggregated_fields + avgDistinct: Changelog_Change_aggregated_fields + sumDistinct: Changelog_Change_aggregated_fields + min: Changelog_Change_aggregated_fields + max: Changelog_Change_aggregated_fields } type Changelog_Change_aggregated_count { - id: Int - sort: Int - date_created: Int - date_updated: Int - changeDescription: Int - changeType: Int - fk_changelog: Int + id: Int + sort: Int + date_created: Int + date_updated: Int + changeDescription: Int + changeType: Int + fk_changelog: Int } type Changelog_Change_aggregated_fields { - id: Float - sort: Float + id: Float + sort: Float } """""" type version_Changelog_Change { - id: ID! - sort: Int - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - changeDescription: String! - changeType: String! - fk_changelog: JSON + id: ID! + sort: Int + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + changeDescription: String! + changeType: String! + fk_changelog: JSON } type Changelog_Screenshots_aggregated { - group: JSON - countAll: Int - count: Changelog_Screenshots_aggregated_count - countDistinct: Changelog_Screenshots_aggregated_count - avg: Changelog_Screenshots_aggregated_fields - sum: Changelog_Screenshots_aggregated_fields - avgDistinct: Changelog_Screenshots_aggregated_fields - sumDistinct: Changelog_Screenshots_aggregated_fields - min: Changelog_Screenshots_aggregated_fields - max: Changelog_Screenshots_aggregated_fields + group: JSON + countAll: Int + count: Changelog_Screenshots_aggregated_count + countDistinct: Changelog_Screenshots_aggregated_count + avg: Changelog_Screenshots_aggregated_fields + sum: Changelog_Screenshots_aggregated_fields + avgDistinct: Changelog_Screenshots_aggregated_fields + sumDistinct: Changelog_Screenshots_aggregated_fields + min: Changelog_Screenshots_aggregated_fields + max: Changelog_Screenshots_aggregated_fields } type Changelog_Screenshots_aggregated_count { - id: Int - date_created: Int - date_updated: Int - fk_changelog: Int - screenshot_preview: Int + id: Int + date_created: Int + date_updated: Int + fk_changelog: Int + screenshot_preview: Int } type Changelog_Screenshots_aggregated_fields { - id: Float + id: Float } """""" type version_Changelog_Screenshots { - id: ID! - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - fk_changelog: JSON - screenshot_preview: JSON + id: ID! + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + fk_changelog: JSON + screenshot_preview: JSON } type Scientific_Circles_aggregated { - group: JSON - countAll: Int - count: Scientific_Circles_aggregated_count - countDistinct: Scientific_Circles_aggregated_count - avg: Scientific_Circles_aggregated_fields - sum: Scientific_Circles_aggregated_fields - avgDistinct: Scientific_Circles_aggregated_fields - sumDistinct: Scientific_Circles_aggregated_fields - min: Scientific_Circles_aggregated_fields - max: Scientific_Circles_aggregated_fields + group: JSON + countAll: Int + count: Scientific_Circles_aggregated_count + countDistinct: Scientific_Circles_aggregated_count + avg: Scientific_Circles_aggregated_fields + sum: Scientific_Circles_aggregated_fields + avgDistinct: Scientific_Circles_aggregated_fields + sumDistinct: Scientific_Circles_aggregated_fields + min: Scientific_Circles_aggregated_fields + max: Scientific_Circles_aggregated_fields } type Scientific_Circles_aggregated_count { - id: Int - status: Int - sort: Int - date_created: Int - date_updated: Int - name: Int - logo: Int - cover: Int - description: Int - type: Int - source: Int - shortDescription: Int - department: Int - desc2: Int - useCoverAsPreviewPhoto: Int - isStrategic: Int - tags: Int - links: Int + id: Int + status: Int + sort: Int + date_created: Int + date_updated: Int + name: Int + logo: Int + cover: Int + description: Int + type: Int + source: Int + shortDescription: Int + department: Int + desc2: Int + useCoverAsPreviewPhoto: Int + isStrategic: Int + tags: Int + links: Int } type Scientific_Circles_aggregated_fields { - id: Float - sort: Float - department: Float + id: Float + sort: Float + department: Float } """""" type version_Scientific_Circles { - id: ID! - status: String - sort: Int - date_created: Date - date_created_func: datetime_functions - date_updated: Date - date_updated_func: datetime_functions - name: String! - logo: JSON - cover: JSON - description: String - type: String - source: String - shortDescription: String - department: JSON - desc2: String - useCoverAsPreviewPhoto: Boolean - isStrategic: Boolean! - tags: JSON - tags_func: count_functions - links: JSON - links_func: count_functions + id: ID! + status: String + sort: Int + date_created: Date + date_created_func: datetime_functions + date_updated: Date + date_updated_func: datetime_functions + name: String! + logo: JSON + cover: JSON + description: String + type: String + source: String + shortDescription: String + department: JSON + desc2: String + useCoverAsPreviewPhoto: Boolean + isStrategic: Boolean! + tags: JSON + tags_func: count_functions + links: JSON + links_func: count_functions } type TeamVersion_Members_AboutUs_Team_Social_Links { - id: ID! - TeamVersion_Members_id(filter: TeamVersion_Members_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): TeamVersion_Members - AboutUs_Team_Social_Links_id(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs_Team_Social_Links + id: ID! + TeamVersion_Members_id(filter: TeamVersion_Members_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): TeamVersion_Members + AboutUs_Team_Social_Links_id(filter: AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): AboutUs_Team_Social_Links } type TeamVersion_Members { - id: ID! - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - name: String! - subtitle: String - photo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - appVersion(filter: TeamVersions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): TeamVersions - socialLinks(filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members_AboutUs_Team_Social_Links] - socialLinks_func: count_functions + id: ID! + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + name: String! + subtitle: String + photo(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + appVersion(filter: TeamVersions_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): TeamVersions + socialLinks(filter: TeamVersion_Members_AboutUs_Team_Social_Links_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): [TeamVersion_Members_AboutUs_Team_Social_Links] + socialLinks_func: count_functions } type TeamVersions { - id: ID! - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - name: String + id: ID! + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + name: String } input TeamVersions_filter { - id: number_filter_operators - sort: number_filter_operators - user_created: string_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - user_updated: string_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - name: string_filter_operators - _and: [TeamVersions_filter] - _or: [TeamVersions_filter] + id: number_filter_operators + sort: number_filter_operators + user_created: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_updated: string_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + name: string_filter_operators + _and: [TeamVersions_filter] + _or: [TeamVersions_filter] } input TeamVersion_Members_AboutUs_Team_Social_Links_filter { - id: number_filter_operators - TeamVersion_Members_id: TeamVersion_Members_filter - AboutUs_Team_Social_Links_id: AboutUs_Team_Social_Links_filter - _and: [TeamVersion_Members_AboutUs_Team_Social_Links_filter] - _or: [TeamVersion_Members_AboutUs_Team_Social_Links_filter] + id: number_filter_operators + TeamVersion_Members_id: TeamVersion_Members_filter + AboutUs_Team_Social_Links_id: AboutUs_Team_Social_Links_filter + _and: [TeamVersion_Members_AboutUs_Team_Social_Links_filter] + _or: [TeamVersion_Members_AboutUs_Team_Social_Links_filter] } input TeamVersion_Members_filter { - id: number_filter_operators - sort: number_filter_operators - user_created: string_filter_operators - date_created: date_filter_operators - date_created_func: datetime_function_filter_operators - user_updated: string_filter_operators - date_updated: date_filter_operators - date_updated_func: datetime_function_filter_operators - name: string_filter_operators - subtitle: string_filter_operators - photo: directus_files_filter - appVersion: TeamVersions_filter - socialLinks: TeamVersion_Members_AboutUs_Team_Social_Links_filter - socialLinks_func: count_function_filter_operators - _and: [TeamVersion_Members_filter] - _or: [TeamVersion_Members_filter] + id: number_filter_operators + sort: number_filter_operators + user_created: string_filter_operators + date_created: date_filter_operators + date_created_func: datetime_function_filter_operators + user_updated: string_filter_operators + date_updated: date_filter_operators + date_updated_func: datetime_function_filter_operators + name: string_filter_operators + subtitle: string_filter_operators + photo: directus_files_filter + appVersion: TeamVersions_filter + socialLinks: TeamVersion_Members_AboutUs_Team_Social_Links_filter + socialLinks_func: count_function_filter_operators + _and: [TeamVersion_Members_filter] + _or: [TeamVersion_Members_filter] } type TeamVersion_Members_AboutUs_Team_Social_Links_aggregated { - group: JSON - countAll: Int - count: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_count - countDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_count - avg: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields - sum: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields - avgDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields - sumDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields - min: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields - max: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + group: JSON + countAll: Int + count: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_count + countDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_count + avg: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + sum: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + avgDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + sumDistinct: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + min: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields + max: TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields } type TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_count { - id: Int - TeamVersion_Members_id: Int - AboutUs_Team_Social_Links_id: Int + id: Int + TeamVersion_Members_id: Int + AboutUs_Team_Social_Links_id: Int } type TeamVersion_Members_AboutUs_Team_Social_Links_aggregated_fields { - id: Float - TeamVersion_Members_id: Float - AboutUs_Team_Social_Links_id: Float + id: Float + TeamVersion_Members_id: Float + AboutUs_Team_Social_Links_id: Float } """""" type version_TeamVersion_Members_AboutUs_Team_Social_Links { - id: ID! - TeamVersion_Members_id: JSON - AboutUs_Team_Social_Links_id: JSON + id: ID! + TeamVersion_Members_id: JSON + AboutUs_Team_Social_Links_id: JSON } type TeamVersion_Members_aggregated { - group: JSON - countAll: Int - count: TeamVersion_Members_aggregated_count - countDistinct: TeamVersion_Members_aggregated_count - avg: TeamVersion_Members_aggregated_fields - sum: TeamVersion_Members_aggregated_fields - avgDistinct: TeamVersion_Members_aggregated_fields - sumDistinct: TeamVersion_Members_aggregated_fields - min: TeamVersion_Members_aggregated_fields - max: TeamVersion_Members_aggregated_fields + group: JSON + countAll: Int + count: TeamVersion_Members_aggregated_count + countDistinct: TeamVersion_Members_aggregated_count + avg: TeamVersion_Members_aggregated_fields + sum: TeamVersion_Members_aggregated_fields + avgDistinct: TeamVersion_Members_aggregated_fields + sumDistinct: TeamVersion_Members_aggregated_fields + min: TeamVersion_Members_aggregated_fields + max: TeamVersion_Members_aggregated_fields } type TeamVersion_Members_aggregated_count { - id: Int - sort: Int - user_created: Int - date_created: Int - user_updated: Int - date_updated: Int - name: Int - subtitle: Int - photo: Int - appVersion: Int - socialLinks: Int + id: Int + sort: Int + user_created: Int + date_created: Int + user_updated: Int + date_updated: Int + name: Int + subtitle: Int + photo: Int + appVersion: Int + socialLinks: Int } type TeamVersion_Members_aggregated_fields { - id: Float - sort: Float - appVersion: Float + id: Float + sort: Float + appVersion: Float } """""" type version_TeamVersion_Members { - id: ID! - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - name: String! - subtitle: String - photo: JSON - appVersion: JSON - socialLinks: JSON - socialLinks_func: count_functions + id: ID! + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + name: String! + subtitle: String + photo: JSON + appVersion: JSON + socialLinks: JSON + socialLinks_func: count_functions } type TeamVersions_aggregated { - group: JSON - countAll: Int - count: TeamVersions_aggregated_count - countDistinct: TeamVersions_aggregated_count - avg: TeamVersions_aggregated_fields - sum: TeamVersions_aggregated_fields - avgDistinct: TeamVersions_aggregated_fields - sumDistinct: TeamVersions_aggregated_fields - min: TeamVersions_aggregated_fields - max: TeamVersions_aggregated_fields + group: JSON + countAll: Int + count: TeamVersions_aggregated_count + countDistinct: TeamVersions_aggregated_count + avg: TeamVersions_aggregated_fields + sum: TeamVersions_aggregated_fields + avgDistinct: TeamVersions_aggregated_fields + sumDistinct: TeamVersions_aggregated_fields + min: TeamVersions_aggregated_fields + max: TeamVersions_aggregated_fields } type TeamVersions_aggregated_count { - id: Int - sort: Int - user_created: Int - date_created: Int - user_updated: Int - date_updated: Int - name: Int + id: Int + sort: Int + user_created: Int + date_created: Int + user_updated: Int + date_updated: Int + name: Int } type TeamVersions_aggregated_fields { - id: Float - sort: Float + id: Float + sort: Float } """""" type version_TeamVersions { - id: ID! - sort: Int - user_created: String - date_created: Date - date_created_func: datetime_functions - user_updated: String - date_updated: Date - date_updated_func: datetime_functions - name: String + id: ID! + sort: Int + user_created: String + date_created: Date + date_created_func: datetime_functions + user_updated: String + date_updated: Date + date_updated_func: datetime_functions + name: String } type Buildings { - id: ID! - name: String! - latitude: Float! - longitude: Float! - addres: String - cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files - food: Boolean - naturalName: String - disableBuildingPrefix: Boolean! - externalDigitalGuideIdOrURL: String - externalDigitalGuideMode: String + id: ID! + name: String! + latitude: Float! + longitude: Float! + addres: String + cover(filter: directus_files_filter, sort: [String], limit: Int, offset: Int, page: Int, search: String): directus_files + food: Boolean + naturalName: String + disableBuildingPrefix: Boolean! + externalDigitalGuideIdOrURL: String + externalDigitalGuideMode: String } input Buildings_filter { - id: number_filter_operators - name: string_filter_operators - latitude: number_filter_operators - longitude: number_filter_operators - addres: string_filter_operators - cover: directus_files_filter - food: boolean_filter_operators - naturalName: string_filter_operators - disableBuildingPrefix: boolean_filter_operators - externalDigitalGuideIdOrURL: string_filter_operators - externalDigitalGuideMode: string_filter_operators - _and: [Buildings_filter] - _or: [Buildings_filter] + id: number_filter_operators + name: string_filter_operators + latitude: number_filter_operators + longitude: number_filter_operators + addres: string_filter_operators + cover: directus_files_filter + food: boolean_filter_operators + naturalName: string_filter_operators + disableBuildingPrefix: boolean_filter_operators + externalDigitalGuideIdOrURL: string_filter_operators + externalDigitalGuideMode: string_filter_operators + _and: [Buildings_filter] + _or: [Buildings_filter] } type Buildings_aggregated { - group: JSON - countAll: Int - count: Buildings_aggregated_count - countDistinct: Buildings_aggregated_count - avg: Buildings_aggregated_fields - sum: Buildings_aggregated_fields - avgDistinct: Buildings_aggregated_fields - sumDistinct: Buildings_aggregated_fields - min: Buildings_aggregated_fields - max: Buildings_aggregated_fields + group: JSON + countAll: Int + count: Buildings_aggregated_count + countDistinct: Buildings_aggregated_count + avg: Buildings_aggregated_fields + sum: Buildings_aggregated_fields + avgDistinct: Buildings_aggregated_fields + sumDistinct: Buildings_aggregated_fields + min: Buildings_aggregated_fields + max: Buildings_aggregated_fields } type Buildings_aggregated_count { - id: Int - name: Int - latitude: Int - longitude: Int - addres: Int - cover: Int - food: Int - naturalName: Int - disableBuildingPrefix: Int - externalDigitalGuideIdOrURL: Int - externalDigitalGuideMode: Int + id: Int + name: Int + latitude: Int + longitude: Int + addres: Int + cover: Int + food: Int + naturalName: Int + disableBuildingPrefix: Int + externalDigitalGuideIdOrURL: Int + externalDigitalGuideMode: Int } type Buildings_aggregated_fields { - id: Float - latitude: Float - longitude: Float + id: Float + latitude: Float + longitude: Float } """""" type version_Buildings { - id: ID! - name: String! - latitude: Float! - longitude: Float! - addres: String - cover: JSON - food: Boolean - naturalName: String - disableBuildingPrefix: Boolean! - externalDigitalGuideIdOrURL: String - externalDigitalGuideMode: String + id: ID! + name: String! + latitude: Float! + longitude: Float! + addres: String + cover: JSON + food: Boolean + naturalName: String + disableBuildingPrefix: Boolean! + externalDigitalGuideIdOrURL: String + externalDigitalGuideMode: String +} + +type PlannerAdvert { + id: ID! + title: String + description: String! + url: String! + isEnabled: Boolean! +} + +"""""" +type version_PlannerAdvert { + id: ID! + title: String + description: String! + url: String! + isEnabled: Boolean! } type Subscription { - directus_files_mutated(event: EventEnum): directus_files_mutated - Scientific_Circles_Tags_mutated(event: EventEnum): Scientific_Circles_Tags_mutated - Tags_mutated(event: EventEnum): Tags_mutated - Posts_Tags_mutated(event: EventEnum): Posts_Tags_mutated - Scientific_Circles_Links_mutated(event: EventEnum): Scientific_Circles_Links_mutated - Posts_mutated(event: EventEnum): Posts_mutated - AcademicCalendarData_mutated(event: EventEnum): AcademicCalendarData_mutated - WeekExceptions_mutated(event: EventEnum): WeekExceptions_mutated - AboutUs_mutated(event: EventEnum): AboutUs_mutated - AboutUs_Team_mutated(event: EventEnum): AboutUs_Team_mutated - AboutUs_Solvro_Social_Links_mutated(event: EventEnum): AboutUs_Solvro_Social_Links_mutated - Departments_mutated(event: EventEnum): Departments_mutated - FAQ_mutated(event: EventEnum): FAQ_mutated - FAQ_Types_mutated(event: EventEnum): FAQ_Types_mutated - Departments_Links_mutated(event: EventEnum): Departments_Links_mutated - FieldOfStudy_mutated(event: EventEnum): FieldOfStudy_mutated - CacheReferenceNumber_mutated(event: EventEnum): CacheReferenceNumber_mutated - AboutUs_Team_Social_Links_mutated(event: EventEnum): AboutUs_Team_Social_Links_mutated - FAQ_Types_FAQ_mutated(event: EventEnum): FAQ_Types_FAQ_mutated - Changelog_mutated(event: EventEnum): Changelog_mutated - Changelog_Change_mutated(event: EventEnum): Changelog_Change_mutated - Changelog_Screenshots_mutated(event: EventEnum): Changelog_Screenshots_mutated - Scientific_Circles_mutated(event: EventEnum): Scientific_Circles_mutated - TeamVersion_Members_AboutUs_Team_Social_Links_mutated(event: EventEnum): TeamVersion_Members_AboutUs_Team_Social_Links_mutated - TeamVersion_Members_mutated(event: EventEnum): TeamVersion_Members_mutated - TeamVersions_mutated(event: EventEnum): TeamVersions_mutated - Buildings_mutated(event: EventEnum): Buildings_mutated + directus_files_mutated(event: EventEnum): directus_files_mutated + Scientific_Circles_Tags_mutated(event: EventEnum): Scientific_Circles_Tags_mutated + Tags_mutated(event: EventEnum): Tags_mutated + Posts_Tags_mutated(event: EventEnum): Posts_Tags_mutated + Scientific_Circles_Links_mutated(event: EventEnum): Scientific_Circles_Links_mutated + Posts_mutated(event: EventEnum): Posts_mutated + AcademicCalendarData_mutated(event: EventEnum): AcademicCalendarData_mutated + WeekExceptions_mutated(event: EventEnum): WeekExceptions_mutated + AboutUs_mutated(event: EventEnum): AboutUs_mutated + AboutUs_Team_mutated(event: EventEnum): AboutUs_Team_mutated + AboutUs_Solvro_Social_Links_mutated(event: EventEnum): AboutUs_Solvro_Social_Links_mutated + Departments_mutated(event: EventEnum): Departments_mutated + FAQ_mutated(event: EventEnum): FAQ_mutated + FAQ_Types_mutated(event: EventEnum): FAQ_Types_mutated + Departments_Links_mutated(event: EventEnum): Departments_Links_mutated + FieldOfStudy_mutated(event: EventEnum): FieldOfStudy_mutated + CacheReferenceNumber_mutated(event: EventEnum): CacheReferenceNumber_mutated + AboutUs_Team_Social_Links_mutated(event: EventEnum): AboutUs_Team_Social_Links_mutated + FAQ_Types_FAQ_mutated(event: EventEnum): FAQ_Types_FAQ_mutated + Changelog_mutated(event: EventEnum): Changelog_mutated + Changelog_Change_mutated(event: EventEnum): Changelog_Change_mutated + Changelog_Screenshots_mutated(event: EventEnum): Changelog_Screenshots_mutated + Scientific_Circles_mutated(event: EventEnum): Scientific_Circles_mutated + TeamVersion_Members_AboutUs_Team_Social_Links_mutated(event: EventEnum): TeamVersion_Members_AboutUs_Team_Social_Links_mutated + TeamVersion_Members_mutated(event: EventEnum): TeamVersion_Members_mutated + TeamVersions_mutated(event: EventEnum): TeamVersions_mutated + Buildings_mutated(event: EventEnum): Buildings_mutated + PlannerAdvert_mutated(event: EventEnum): PlannerAdvert_mutated } type directus_files_mutated { - key: ID! - event: EventEnum - data: directus_files + key: ID! + event: EventEnum + data: directus_files } enum EventEnum { - create - update - delete + create + update + delete } type Scientific_Circles_Tags_mutated { - key: ID! - event: EventEnum - data: Scientific_Circles_Tags + key: ID! + event: EventEnum + data: Scientific_Circles_Tags } type Tags_mutated { - key: ID! - event: EventEnum - data: Tags + key: ID! + event: EventEnum + data: Tags } type Posts_Tags_mutated { - key: ID! - event: EventEnum - data: Posts_Tags + key: ID! + event: EventEnum + data: Posts_Tags } type Scientific_Circles_Links_mutated { - key: ID! - event: EventEnum - data: Scientific_Circles_Links + key: ID! + event: EventEnum + data: Scientific_Circles_Links } type Posts_mutated { - key: ID! - event: EventEnum - data: Posts + key: ID! + event: EventEnum + data: Posts } type AcademicCalendarData_mutated { - key: ID! - event: EventEnum - data: AcademicCalendarData + key: ID! + event: EventEnum + data: AcademicCalendarData } type WeekExceptions_mutated { - key: ID! - event: EventEnum - data: WeekExceptions + key: ID! + event: EventEnum + data: WeekExceptions } type AboutUs_mutated { - key: ID! - event: EventEnum - data: AboutUs + key: ID! + event: EventEnum + data: AboutUs } type AboutUs_Team_mutated { - key: ID! - event: EventEnum - data: AboutUs_Team + key: ID! + event: EventEnum + data: AboutUs_Team } type AboutUs_Solvro_Social_Links_mutated { - key: ID! - event: EventEnum - data: AboutUs_Solvro_Social_Links + key: ID! + event: EventEnum + data: AboutUs_Solvro_Social_Links } type Departments_mutated { - key: ID! - event: EventEnum - data: Departments + key: ID! + event: EventEnum + data: Departments } type FAQ_mutated { - key: ID! - event: EventEnum - data: FAQ + key: ID! + event: EventEnum + data: FAQ } type FAQ_Types_mutated { - key: ID! - event: EventEnum - data: FAQ_Types + key: ID! + event: EventEnum + data: FAQ_Types } type Departments_Links_mutated { - key: ID! - event: EventEnum - data: Departments_Links + key: ID! + event: EventEnum + data: Departments_Links } type FieldOfStudy_mutated { - key: ID! - event: EventEnum - data: FieldOfStudy + key: ID! + event: EventEnum + data: FieldOfStudy } type CacheReferenceNumber_mutated { - key: ID! - event: EventEnum - data: CacheReferenceNumber + key: ID! + event: EventEnum + data: CacheReferenceNumber } type AboutUs_Team_Social_Links_mutated { - key: ID! - event: EventEnum - data: AboutUs_Team_Social_Links + key: ID! + event: EventEnum + data: AboutUs_Team_Social_Links } type FAQ_Types_FAQ_mutated { - key: ID! - event: EventEnum - data: FAQ_Types_FAQ + key: ID! + event: EventEnum + data: FAQ_Types_FAQ } type Changelog_mutated { - key: ID! - event: EventEnum - data: Changelog + key: ID! + event: EventEnum + data: Changelog } type Changelog_Change_mutated { - key: ID! - event: EventEnum - data: Changelog_Change + key: ID! + event: EventEnum + data: Changelog_Change } type Changelog_Screenshots_mutated { - key: ID! - event: EventEnum - data: Changelog_Screenshots + key: ID! + event: EventEnum + data: Changelog_Screenshots } type Scientific_Circles_mutated { - key: ID! - event: EventEnum - data: Scientific_Circles + key: ID! + event: EventEnum + data: Scientific_Circles } type TeamVersion_Members_AboutUs_Team_Social_Links_mutated { - key: ID! - event: EventEnum - data: TeamVersion_Members_AboutUs_Team_Social_Links + key: ID! + event: EventEnum + data: TeamVersion_Members_AboutUs_Team_Social_Links } type TeamVersion_Members_mutated { - key: ID! - event: EventEnum - data: TeamVersion_Members + key: ID! + event: EventEnum + data: TeamVersion_Members } type TeamVersions_mutated { - key: ID! - event: EventEnum - data: TeamVersions + key: ID! + event: EventEnum + data: TeamVersions } type Buildings_mutated { - key: ID! - event: EventEnum - data: Buildings + key: ID! + event: EventEnum + data: Buildings +} + +type PlannerAdvert_mutated { + key: ID! + event: EventEnum + data: PlannerAdvert } \ No newline at end of file diff --git a/lib/config/ttl_config.dart b/lib/config/ttl_config.dart index 1b845b59..19e0a017 100644 --- a/lib/config/ttl_config.dart +++ b/lib/config/ttl_config.dart @@ -13,7 +13,8 @@ enum TtlKey { buildingsRepository, guideDetailsRepository, guideRepository, - changelogRepository + changelogRepository, + plannerAdvertRepository // ... add a new key here if you create a new repository } @@ -38,6 +39,7 @@ abstract class TtlStrategy { day, // leaving as day for now, cause maybe some uni orgs will update it by themselves TtlKey.guideRepository => week, TtlKey.changelogRepository => week, + TtlKey.plannerAdvertRepository => day }; } } diff --git a/lib/features/academic_calendar/widgets/academic_calendar_consumer.dart b/lib/features/academic_calendar/widgets/academic_calendar_consumer.dart index 18f1d0bf..d954b2be 100644 --- a/lib/features/academic_calendar/widgets/academic_calendar_consumer.dart +++ b/lib/features/academic_calendar/widgets/academic_calendar_consumer.dart @@ -2,8 +2,8 @@ import "package:flutter/material.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "../../../config/ui_config.dart"; +import "../../../widgets/loading_widgets/simple_previews/horizontal_rectangular_section_loading.dart"; import "../../../widgets/my_error_widget.dart"; -import "../../home_view/widgets/loading_widgets/horizontal_rectangular_section_loading.dart"; import "../repository/academic_calendar_repo.dart"; import "countdown_widget/exam_session_countdown.dart"; import "home_screen_greeting.dart"; diff --git a/lib/features/home_view/home_view.dart b/lib/features/home_view/home_view.dart index 9f276d79..b62e67c0 100644 --- a/lib/features/home_view/home_view.dart +++ b/lib/features/home_view/home_view.dart @@ -5,6 +5,7 @@ import "package:flutter/material.dart"; import "../../config/ui_config.dart"; import "../../theme/app_theme.dart"; import "../academic_calendar/widgets/academic_calendar_consumer.dart"; +import "../planner_advert/widgets/planner_advert_widget.dart"; import "keep_alive_home_view_providers.dart"; import "widgets/buildings_section/buildings_section.dart"; import "widgets/logo_app_bar.dart"; @@ -23,6 +24,7 @@ class HomeView extends StatelessWidget { padding: EdgeInsets.only(top: 12, bottom: 4), child: NavActionsSection(), ), + PlannerAdvertBanner(), const ScienceClubsSection(), const BuildingsSection(), ].lock; @@ -35,7 +37,7 @@ class HomeView extends StatelessWidget { child: ListView.separated( itemBuilder: (context, index) => sections[index], separatorBuilder: (context, index) => SizedBox( - height: index == 1 ? 0 : HomeViewConfig.paddingMedium, + height: index == 1 || index == 2 ? 0 : HomeViewConfig.paddingMedium, ), itemCount: sections.length, ), diff --git a/lib/features/offline_messages/messages_config.dart b/lib/features/offline_messages/messages_config.dart index 7cbcd6bf..174998b9 100644 --- a/lib/features/offline_messages/messages_config.dart +++ b/lib/features/offline_messages/messages_config.dart @@ -17,6 +17,7 @@ extension GqlOfflineMessageX on BuildContext { TtlKey.guideDetailsRepository => localize.offline_guide_details, TtlKey.guideRepository => localize.offline_guide_posts, TtlKey.changelogRepository => localize.offline_changelog, + TtlKey.plannerAdvertRepository => localize.general_offline, }; String gqlOfflineMessageLocalized(TtlKey key) { diff --git a/lib/features/planner_advert/repository/getPlannerAdvertContent.graphql b/lib/features/planner_advert/repository/getPlannerAdvertContent.graphql new file mode 100644 index 00000000..13a6a4b2 --- /dev/null +++ b/lib/features/planner_advert/repository/getPlannerAdvertContent.graphql @@ -0,0 +1,8 @@ +query GetPlannerAdvertContent { + PlannerAdvert { + isEnabled, + title, + description, + url + } +} \ No newline at end of file diff --git a/lib/features/planner_advert/repository/planner_advert_repository.dart b/lib/features/planner_advert/repository/planner_advert_repository.dart new file mode 100644 index 00000000..4dd3c565 --- /dev/null +++ b/lib/features/planner_advert/repository/planner_advert_repository.dart @@ -0,0 +1,20 @@ +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:riverpod_annotation/riverpod_annotation.dart"; + +import "../../../api_base/query_adapter.dart"; +import "../../../config/ttl_config.dart"; +import "getPlannerAdvertContent.graphql.dart"; + +part "planner_advert_repository.g.dart"; + +typedef PlannerAdvertContent = Query$GetPlannerAdvertContent$PlannerAdvert; + +@riverpod +Future plannerAdvertContentRepository(Ref ref) async { + final results = await ref.queryGraphql( + Options$Query$GetPlannerAdvertContent(), + TtlKey.plannerAdvertRepository, + ); + + return results?.PlannerAdvert; +} diff --git a/lib/features/planner_advert/widgets/planner_advert_widget.dart b/lib/features/planner_advert/widgets/planner_advert_widget.dart new file mode 100644 index 00000000..1f60b3a8 --- /dev/null +++ b/lib/features/planner_advert/widgets/planner_advert_widget.dart @@ -0,0 +1,54 @@ +import "dart:async"; + +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; + +import "../../../config/ui_config.dart"; +import "../../../theme/app_theme.dart"; +import "../../../utils/launch_url_util.dart"; +import "../../../widgets/loading_widgets/simple_previews/horizontal_rectangular_section_loading.dart"; +import "../../../widgets/my_error_widget.dart"; +import "../../../widgets/technical_message.dart"; +import "../repository/planner_advert_repository.dart"; + +class PlannerAdvertBanner extends ConsumerWidget { + @override + Widget build(BuildContext context, WidgetRef ref) { + final state = ref.watch(plannerAdvertContentRepositoryProvider); + return switch (state) { + AsyncError(:final error) => MyErrorWidget(error), + AsyncValue(:final PlannerAdvertContent value) => + _PlannerAdvertBanner(value), + _ => const HorizontalRectangularSectionLoading() + }; + } +} + +class _PlannerAdvertBanner extends ConsumerWidget { + const _PlannerAdvertBanner( + this.data, + ); + + final PlannerAdvertContent data; + + @override + Widget build(BuildContext context, WidgetRef ref) { + return !data.isEnabled + ? const SizedBox.shrink() + : Padding( + padding: const EdgeInsets.symmetric( + horizontal: HomeViewConfig.paddingSmall, + ), + child: TechnicalMessage( + title: data.title, + message: data.description, + alertType: AlertType.info, + icon: Icon( + Icons.open_in_new_rounded, + color: context.colorTheme.whiteSoap, + ), + onTap: () async => unawaited(ref.launch(data.url)), + ), + ); + } +} diff --git a/lib/features/sks-menu/presentation/sks_menu_screen.dart b/lib/features/sks-menu/presentation/sks_menu_screen.dart index d466abe3..f33be462 100644 --- a/lib/features/sks-menu/presentation/sks_menu_screen.dart +++ b/lib/features/sks-menu/presentation/sks_menu_screen.dart @@ -15,6 +15,7 @@ import "../../../widgets/detail_views/detail_view_app_bar.dart"; import "../../../widgets/horizontal_symmetric_safe_area.dart"; import "../../../widgets/my_error_widget.dart"; import "../../../widgets/my_text_button.dart"; +import "../../../widgets/technical_message.dart"; import "../../../widgets/text_and_url_widget.dart"; import "../../sks_people_live/presentation/widgets/sks_user_data_button.dart"; import "../data/models/sks_menu_response.dart"; @@ -22,7 +23,6 @@ import "../data/repository/sks_menu_repository.dart"; import "widgets/sks_menu_header.dart"; import "widgets/sks_menu_section.dart"; import "widgets/sks_menu_view_loading.dart"; -import "widgets/technical_message.dart"; @RoutePage() class SksMenuView extends HookConsumerWidget { diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 291b4da2..b1e64cbd 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -304,6 +304,7 @@ "dressing_room": "Szatnia", "no_lodge_in_the_building": "W tym budynku nie ma portierni", "no_dressing_room_in_the_building": "W tym budynku nie ma szatni", + "general_offline" : "pobierania danych", "floors_served_by_lift": "Piętra obsługiwane przez windę", "dimensions" : "Wymiary", "max_capacity" : "Maksymalny udźwig", diff --git a/lib/features/home_view/widgets/loading_widgets/horizontal_rectangular_section_loading.dart b/lib/widgets/loading_widgets/simple_previews/horizontal_rectangular_section_loading.dart similarity index 87% rename from lib/features/home_view/widgets/loading_widgets/horizontal_rectangular_section_loading.dart rename to lib/widgets/loading_widgets/simple_previews/horizontal_rectangular_section_loading.dart index 348fa0b9..e8fccd6b 100644 --- a/lib/features/home_view/widgets/loading_widgets/horizontal_rectangular_section_loading.dart +++ b/lib/widgets/loading_widgets/simple_previews/horizontal_rectangular_section_loading.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; -import "../../../../widgets/loading_widgets/shimmer_loading.dart"; +import "../shimmer_loading.dart"; class HorizontalRectangularSectionLoading extends StatelessWidget { const HorizontalRectangularSectionLoading({super.key}); diff --git a/lib/features/sks-menu/presentation/widgets/technical_message.dart b/lib/widgets/technical_message.dart similarity index 80% rename from lib/features/sks-menu/presentation/widgets/technical_message.dart rename to lib/widgets/technical_message.dart index 90727919..15a575c1 100644 --- a/lib/features/sks-menu/presentation/widgets/technical_message.dart +++ b/lib/widgets/technical_message.dart @@ -1,8 +1,8 @@ import "package:flutter/material.dart"; -import "../../../../config/ui_config.dart"; -import "../../../../theme/app_theme.dart"; -import "../../data/models/dish_category_enum.dart"; +import "../config/ui_config.dart"; +import "../features/sks-menu/data/models/dish_category_enum.dart"; +import "../theme/app_theme.dart"; enum AlertType { info, error } @@ -12,10 +12,14 @@ class TechnicalMessage extends StatelessWidget { required this.message, this.title, this.alertType = AlertType.error, + this.icon, + this.onTap, }); final String message; final String? title; final AlertType alertType; + final Icon? icon; + final VoidCallback? onTap; @override Widget build(BuildContext context) { return Padding( @@ -30,6 +34,8 @@ class TechnicalMessage extends StatelessWidget { ? context.colorTheme.orangePomegranade : context.colorTheme.blueAzure, child: ListTile( + onTap: onTap, + trailing: icon, title: Text( title ?? DishCategory.technicalInfo.getLocalizedName(context), style: context.textTheme.titleWhite,