Commit 743ed206 authored by Marek Veselý's avatar Marek Veselý
Browse files

add teamId to drafts

parent 0c437312
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ const InstructorEmailForm: FC<EmailFormProps> = ({
  const formState = useFormState({
    exerciseId,
    inInstructor: true,
    teamId,
    emailThreadId: threadId,
  })
  const {
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ const TraineeEmailForm: FC<TraineeEmailFormProps> = ({
  } = useFormState({
    teamAddress,
    inInstructor: false,
    teamId,
    exerciseId,
    emailThreadId: threadId,
  })
+5 −0
Original line number Diff line number Diff line
@@ -31,10 +31,12 @@ export interface FormState {
const useFormState = ({
  teamAddress,
  exerciseId,
  teamId,
  inInstructor,
  emailThreadId,
}: {
  exerciseId: string
  teamId: string
  inInstructor: boolean
  emailThreadId: string | undefined
  teamAddress?: string | undefined
@@ -55,6 +57,7 @@ const useFormState = ({
  const { data: draftData } = useReturnLocalEmailDraft({
    variables: {
      exerciseId,
      teamId,
      instructor: inInstructor,
      emailThreadId: emailThreadId || null,
    },
@@ -82,6 +85,7 @@ const useFormState = ({
      variables: {
        emailDraft: {
          exerciseId,
          teamId,
          instructor: inInstructor,
          emailThreadId,
          senderAddress,
@@ -119,6 +123,7 @@ const useFormState = ({
      variables: {
        emailDraft: {
          exerciseId,
          teamId,
          instructor: inInstructor,
          emailThreadId,
          senderAddress: teamAddress || '',
+3 −2
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ export type EmailAddressTypeFieldPolicy = {
	teamVisible?: FieldPolicy<any> | FieldReadFunction<any>,
	templates?: FieldPolicy<any> | FieldReadFunction<any>
};
export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | EmailDraftTypeKeySpecifier)[];
export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | 'teamId' | EmailDraftTypeKeySpecifier)[];
export type EmailDraftTypeFieldPolicy = {
	activateMilestone?: FieldPolicy<any> | FieldReadFunction<any>,
	content?: FieldPolicy<any> | FieldReadFunction<any>,
@@ -110,7 +110,8 @@ export type EmailDraftTypeFieldPolicy = {
	instructor?: FieldPolicy<any> | FieldReadFunction<any>,
	selectedContacts?: FieldPolicy<any> | FieldReadFunction<any>,
	senderAddress?: FieldPolicy<any> | FieldReadFunction<any>,
	subject?: FieldPolicy<any> | FieldReadFunction<any>
	subject?: FieldPolicy<any> | FieldReadFunction<any>,
	teamId?: FieldPolicy<any> | FieldReadFunction<any>
};
export type EmailParticipantTypeKeySpecifier = ('address' | 'definitionAddress' | 'emails' | 'exercise' | 'id' | 'team' | 'threads' | EmailParticipantTypeKeySpecifier)[];
export type EmailParticipantTypeFieldPolicy = {
+6 −3
Original line number Diff line number Diff line
@@ -4,12 +4,13 @@ import getKey from '@inject/shared/localstorage/getKey'

const getEmailThreadDraftId = (
  exerciseId: string,
  teamId: string,
  instructor: boolean,
  emailThreadId: string | null | undefined
) =>
  `EmailThreadDraft:${instructor ? 'instructor' : 'trainee'}:${exerciseId}:${
    emailThreadId || 'newThread'
  }`
  `EmailThreadDraft:${
    instructor ? 'instructor' : 'trainee'
  }:${exerciseId}:${teamId}:${emailThreadId || 'newThread'}`

const resolvers: Resolvers = {
  EmailType: {
@@ -44,6 +45,7 @@ const resolvers: Resolvers = {
    async returnLocalEmailDraft(_root, variables) {
      const id = getEmailThreadDraftId(
        variables.exerciseId,
        variables.teamId,
        variables.instructor,
        variables.emailThreadId
      )
@@ -179,6 +181,7 @@ const resolvers: Resolvers = {
    async writeEmailDraft(_root, variables) {
      const id = getEmailThreadDraftId(
        variables.emailDraft.exerciseId,
        variables.emailDraft.teamId,
        variables.emailDraft.instructor,
        variables.emailDraft.emailThreadId
      )
Loading