Skip to content
  1. Nov 18, 2024
    • Martin Juhás's avatar
      update version and create new tag · fef6228a
      Martin Juhás authored
      v2.9.0
      fef6228a
    • Martin Juhás's avatar
      Merge branch '345-unify-timestamps-to-use-utc' into 'main' · bb36ff65
      Martin Juhás authored
      Resolve "Unify timestamps to use UTC"
      
      See merge request inject/backend!310
      bb36ff65
    • Martin Juhás's avatar
      fix: change timestamps to use UTC · 720a0af6
      Martin Juhás authored
      No API changes
      
      Closes #345
      720a0af6
    • Martin Juhás's avatar
      Merge branch '340-implement-open-ended-questions' into 'main' · 948bb632
      Martin Juhás authored
      Resolve "Implement open ended questions"
      
      See merge request inject/backend!309
      948bb632
    • Martin Juhás's avatar
      feat: implement free-form questions · 0ed45206
      Martin Juhás authored
      ### Additions
      
      * added new `RadioQuestionDetailsType`
      * added new `FreeFormQuestionDetailsType`
      * added new `QuestionDetails`
      * added new `QuestionRelatedMilestonesType`
      * added new `AnswerType`
      * added new `QuestionnaireInputType`
      * added new `QuestionnaireReviewInputType`
      * added new `QuestionnaireReviewInput`
      * added new `QuestionTypes`
      * added field `type: QuestionTypes!` to `QuestionType`
      * added field `details: QuestionDetails!` to `QuestionType`
      * added field `timestampReviewed: DateTime` to `TeamQuestionnaireStateType`
      * added field `reviewedBy: RestrictedUser` to `TeamQuestionnaireStateType`
      * added field `relatedMilestones: [QuestionRelatedMilestonesType!]!` to `TeamQuestionnaireStateType`
      
      ### Changes
      
      * changed field `choice: Int!` on `AnswerInput` to `value: String!`
      * changed field `choice: Int!` on `AnswerType` to `value: String!`
      * field `answers` type changed to `[AnswerType!]!` on `QuestionnaireInputType`
      * field `answers` type changed to `[AnswerInput!]!` on `QuestionnaireInput`
      * removed field `max` from `QuestionType`
      * removed field `correct` from `QuestionType`
      * removed field `labels` from `QuestionType`
      * removed field `controls` from `QuestionType`
      
      Closes #340
      0ed45206
  2. Nov 13, 2024
  3. Nov 08, 2024
  4. Nov 07, 2024
  5. Nov 05, 2024
  6. Nov 04, 2024
  7. Oct 31, 2024
    • Martin Juhás's avatar
      update version and create new tag · 550f22ea
      Martin Juhás authored
      v2.5.0
      550f22ea
    • Martin Juhás's avatar
      Merge branch '320-enforce-which-data-types-will-always-be-present-even-in-array-types' into 'main' · c5a7c7bc
      Martin Juhás authored
      Resolve "Enforce which data types will always be present even in array types"
      
      See merge request inject/backend!298
      c5a7c7bc
    • Martin Juhás's avatar
      fix: fix API definitions · 364e4789
      Martin Juhás authored
      ### Changes
      
      * field `id` type changed to `ID!` on `ExerciseDefinitionType`
      * field `definition` type changed to `ExerciseDefinitionType!` on `ToolType`
      * field `definition` type changed to `ExerciseDefinitionType!` on `ExerciseType`
      * field `teamIds` type changed to `[ID!]!` on `MilestoneStateType`
      * field `definition` type changed to `ExerciseDefinitionType!` on `EmailAddressType`
      * field `sender` type changed to `String!` on `EmailTemplateType`
      * field `definitions` type changed to `[ExerciseDefinitionType!]!` on `UserType`
      * field `uploadedDefinitions` type changed to `[ExerciseDefinitionType!]!` on `UserType`
      * field `exercises` type changed to `[RestrictedExercise!]!` on `UserType`
      * field `createdExercises` type changed to `[RestrictedExercise!]!` on `UserType`
      * field `teams` type changed to `[RestrictedTeam!]!` on `UserType`
      * field `group` type changed to `AuthGroup!` on `UserType`
      * field `status` type changed to `Status!` on `TeamQuestionnaireStateType`
      * return type changed to `[ExericseType!]!` for `exercises` query
      * return type changed to `ExerciseType!` for `exerciseId` query
      * return type changed to `[DefinitionType!]!` for `definitions` query
      * return type changed to `DefinitionType!` for `definition` query
      * return type changed to `[DefinitionInjectType!]!` for `injects` query
      * return type changed to `[MilestoneType!]!` for `milestones` query
      * return type changed to `FileInfo!` for `fileInfo` query
      * return type changed to `[FileInfo!]!` for `teamUploadedFiles` query
      * return type changed to `DefinitionChannelType!` for `channel` query
      * return type changed to `[DefinitionChannelType!]!` for `exerciseChannels` query
      * return type changed to `[LearningObjectiveType!]!` for `learningObjectives` query
      * return type changed to `[QuestionnaireType!]!` for `questionnaires` query
      * return type changed to `TeamType!` for `team` query
      * return type changed to `[String!]!` for `teamRoles` query
      * return type changed to `[ToolType!]!` for `teamTools` query
      * return type changed to `[ExtendedToolType!]!` for `extendedTeamTools` query
      * return type changed to `[ActionLogType!]!` for `teamChannelLogs` query
      * return type changed to `MilestoneStateType!` for `teamMilestone` query
      * return type changed to `[MilestoneStateType!]!` for `teamMilestones` query
      * return type changed to `[EmailParticipantType!]!` for `emailContacts` query
      * return type changed to `EmailParticipantType!` for `emailContact` query
      * return type changed to `[EmailThreadType!]!` for `emailThreads` query
      * return type changed to `EmailThreadType!` for `emailThread` query
      * return type changed to `[String!]!` for `emailAddresses` query
      * return type changed to `Boolean!` for `validateEmailAddress` query
      * return type changed to `EmailParticipantType!` for `teamEmailParticipant` query
      * return type changed to `[EmailTemplateType!]!` for `emailTemplates` query
      * return type changed to `[EmailTemplateType!]!` for `threadTemplates` query
      * return type changed to `EmailTemplateType!` for `threadTemplate` query
      * return type changed to `Int!` for `exerciseTimeLeft` query
      * return type changed to `GrapheneConfig!` for `exerciseConfig` query
      * return type changed to `Boolean!` for `exerciseLoopRunning` query
      * return type changed to `[MilestoneStateType!]!` for `analyticsMilestones` query
      * return type changed to `[ActionLogType!]!` for `analyticsActionLogs` query
      * return type changed to `[EmailThreadType!]!` for `analyticsEmailThreads` query
      * return type changed to `[ToolType!]!` for `exerciseTools` query
      * return type changed to `TeamQuestionnaireStateType!` for `questionnaireState` query
      * return type changed to `[TeamQuestionnaireStateType!]!` for `teamQuestionnaires` query
      * return type changed to `[TeamQuestionnaireStateType!]!` for `exerciseQuestionnaires` query
      * return type changed to `[TeamLearningObjectiveType!]!` for `teamLearningObjectives` query
      * return type changed to `[UserType!]!` for `users` query
      * return type changed to `UserType!` for `user` query
      * return type changed to `[TagType!]!` for `tags` query
      * return type changed to `ExerciseType!` for `createExercise` mutation
      * return type changed to `EmailThreadType!` for `createThread` mutation
      * return type changed to `ExerciseType!` for `moveExerciseTime` mutation
      * return type changed to `ExerciseType!` for `startExercise` mutation
      * return type changed to `ExerciseType!` for `stopExercise` mutation
      * return type changed to `UserType!` for `changeUserData` mutation
      * field `exercise` type changed to `ExerciseType!` on `ExercisesSubscription`
      * field `eventType` type changed to `ExerciseEventTypeEnum!` on `ExercisesSubscription`
      * field `exerciseLoopRunning` type changed to `Boolean!` on `ExerciseLoopRunningSubscription`
      * argument `teamId` type changed to `ID!` on `ExerciseLoopRunningSubscription`
      * field `actionLog` type changed to `ActionLogType!` on `ActionLogsSubscription`
      * argument `teamId` type changed to `ID!` on `ActionLogsSubscription`
      * field `milestones` type changed to `[MilestoneStateType!]!` on `MilestonesSubscription`
      * argument `teamId` type changed to `ID!` on `MilestonesSubscription`
      * field `emailThread` type changed to `EmailThreadType!` on `EmailThreadSubscription`
      * argument `teamId` type changed to `ID!` on `EmailThreadSubscription`
      * field `milestones` type changed to `[MilestoneStateType!]` on `AnalyticsMilestonesSubscription`
      * argument `exerciseId` type changed to `ID!` on `AnalyticsMilestonesSubscription`
      * field `action_log` type changed to `ActionLogType!` on `AnalyticsActionLogsSubscription`
      * argument `exerciseId` type changed to `ID!` on `AnalyticsActionLogsSubscription`
      * field `emailThread` type changed to `EmailThreadType!` on `AnalyticsEmailThreadSubscription`
      * argument `exerciseId` type changed to `ID!` on `AnalyticsEmailThreadSubscription`
      * field `operationDone` type changed to `Boolean!` on `assignUsersToTeam`
      * field `operationDone` type changed to `Boolean!` on `removeUsersFromTeam`
      * field `operationDone` type changed to `Boolean!` on `assignInstructorsToExercise`
      * field `operationDone` type changed to `Boolean!` on `removeInstructorsFromExercise`
      * field `operationDone` type changed to `Boolean!` on `addDefinitionAccess`
      * field `operationDone` type changed to `Boolean!` on `removeDefinitionAccess`
      * field `operationDone` type changed to `Boolean!` on `regenerateCredentials`
      * field `operationDone` type changed to `Boolean!` on `deleteUsers`
      * field `operationDone` type changed to `Boolean!` on `assignUsersEqually`
      * field `operationDone` type changed to `Boolean!` on `copyUsersAssignment`
      * field `operationDone` type changed to `Boolean!` on `assignUsersByTags`
      * field `operationDone` type changed to `Boolean!` on `deleteTags`
      * field `operationDone` type changed to `Boolean!` on `updateTagAssignments`
      * field `operationDone` type changed to `Boolean!` on `useTool`
      * field `operationDone` type changed to `Boolean!` on `sendEmail`
      * field `operationDone` type changed to `Boolean!` on `modifyMilestone`
      * field `operationDone` type changed to `Boolean!` on `answerQuestionnaire`
      * field `operationDone` type changed to `Boolean!` on `sendCustomInject`
      * field `operationDone` type changed to `Boolean!` on `deleteExercise`
      * field `operationDone` type changed to `Boolean!` on `deleteDefinition`
      
      Closes #320
      364e4789
    • Martin Juhás's avatar
      update version and create new tag · a138d7d2
      Martin Juhás authored
      v2.4.0
      a138d7d2
    • Martin Juhás's avatar
      Merge branch '315-implement-decision-point' into 'main' · 415a03e8
      Martin Juhás authored
      Resolve "Implement decision point"
      
      Closes #315
      
      See merge request inject/backend!296
      415a03e8
    • Martin Juhás's avatar
      feat: implement decision point logic · bcbcdd06
      Martin Juhás authored
      ### Additions
      
      * add field `controls` to `QuestionType`
      
      ### Deletions
      
      * remove field `control` from `QuestionType`
      
      Closes #315
      bcbcdd06
    • Martin Juhás's avatar
      Merge branch '314-forbid-assigning-instructors-admins-if-they-are-already-in-a-team' into 'main' · 06e4732e
      Martin Juhás authored
      Resolve "Forbid assigning instructors/admins if they are already in a team"
      
      Closes #314
      
      See merge request inject/backend!297
      06e4732e
    • Richard Glosner's avatar
      fix: prevent multiple assignments of the same user to the exercise · ac1c9e0d
      Richard Glosner authored and Martin Juhás's avatar Martin Juhás committed
      No API changes
      
      Closes #314
      ac1c9e0d
  8. Oct 30, 2024
  9. Oct 24, 2024
Loading