/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: send
// ====================================================

export interface send_Send {
  __typename: "SendSingleResponse";
  ok: boolean;
  errors: string[];
}

export interface send {
  Send: send_Send;
}

export interface sendVariables {
  input: SendInput;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: triggerCreate
// ====================================================

export interface triggerCreate_TriggerCreate {
  __typename: "TriggerCreateResponse";
  ok: boolean;
  errors: string[];
}

export interface triggerCreate {
  /**
   * 트리거 생성 & 매니저에 추가
   */
  TriggerCreate: triggerCreate_TriggerCreate;
}

export interface triggerCreateVariables {
  input: TriggerUpsertInput;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: triggerUpdate
// ====================================================

export interface triggerUpdate_TriggerUpdate {
  __typename: "TriggerUpdateResponse";
  ok: boolean;
  errors: string[];
}

export interface triggerUpdate {
  TriggerUpdate: triggerUpdate_TriggerUpdate;
}

export interface triggerUpdateVariables {
  input: TriggerUpsertInput;
  triggerId: any;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: templateUpdate
// ====================================================

export interface templateUpdate_TemplateUpdate_data {
  __typename: "Template";
  _id: any;
}

export interface templateUpdate_TemplateUpdate {
  __typename: "TemplateUpdateResponse";
  ok: boolean;
  errors: string[];
  data: templateUpdate_TemplateUpdate_data[];
}

export interface templateUpdate {
  /**
   * UpdateTemplate - For Client
   */
  TemplateUpdate: templateUpdate_TemplateUpdate;
}

export interface templateUpdateVariables {
  params: TemplateUpsertInput;
  templateId: any;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: templateDelete
// ====================================================

export interface templateDelete_TemplateDelete_data {
  __typename: "Template";
  _id: any;
}

export interface templateDelete_TemplateDelete {
  __typename: "TemplateDeleteResponse";
  ok: boolean;
  errors: string[];
  data: templateDelete_TemplateDelete_data | null;
}

export interface templateDelete {
  TemplateDelete: templateDelete_TemplateDelete;
}

export interface templateDeleteVariables {
  templateId: any;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: templateCreate
// ====================================================

export interface templateCreate_TemplateCreate_data {
  __typename: "Template";
  _id: any;
}

export interface templateCreate_TemplateCreate {
  __typename: "TemplateAddResponse";
  ok: boolean;
  errors: string[];
  data: templateCreate_TemplateCreate_data | null;
}

export interface templateCreate {
  TemplateCreate: templateCreate_TemplateCreate;
}

export interface templateCreateVariables {
  input: TemplateUpsertInput;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL query operation: getPoint
// ====================================================

export interface getPoint_MyManager_data_point_postpayOption {
  __typename: "PostpayOption";
  lastPayDate: any | null;
  paymentDate: number;
  lastPayAmount: number;
}

export interface getPoint_MyManager_data_point_prepayOption {
  __typename: "PrepayOption";
  lowerLimit: number;
  amount: number;
}

export interface getPoint_MyManager_data_point {
  __typename: "Point";
  remains: number;
  chargeType: ChargeType;
  postpayOption: getPoint_MyManager_data_point_postpayOption | null;
  prepayOption: getPoint_MyManager_data_point_prepayOption | null;
}

export interface getPoint_MyManager_data {
  __typename: "Manager";
  point: getPoint_MyManager_data_point;
}

export interface getPoint_MyManager {
  __typename: "MyManagerResponse";
  ok: boolean;
  errors: string[];
  data: getPoint_MyManager_data | null;
}

export interface getPoint {
  MyManager: getPoint_MyManager;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL query operation: myManager
// ====================================================

export interface myManager_MyManager_data_senders_authInfo {
  __typename: "SenderAuthInfo";
  status: AuthStatus;
  authDate: any | null;
}

export interface myManager_MyManager_data_senders {
  __typename: "Sender";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  phoneNumber: string;
  name: string;
  verified: boolean;
  authInfo: myManager_MyManager_data_senders_authInfo;
}

export interface myManager_MyManager_data_point_postpayOption {
  __typename: "PostpayOption";
  lastPayDate: any | null;
  paymentDate: number;
  lastPayAmount: number;
}

export interface myManager_MyManager_data_point_prepayOption {
  __typename: "PrepayOption";
  lowerLimit: number;
  amount: number;
}

export interface myManager_MyManager_data_point {
  __typename: "Point";
  remains: number;
  chargeType: ChargeType;
  postpayOption: myManager_MyManager_data_point_postpayOption | null;
  prepayOption: myManager_MyManager_data_point_prepayOption | null;
}

export interface myManager_MyManager_data_triggers_sender {
  __typename: "Sender";
  _id: any;
  name: string;
}

export interface myManager_MyManager_data_triggers_tags {
  __typename: "Tag";
  key: string;
  value: string;
}

export interface myManager_MyManager_data_triggers_template {
  __typename: "Template";
  _id: any;
  name: string;
}

export interface myManager_MyManager_data_triggers {
  __typename: "Trigger";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  event: string;
  sender: myManager_MyManager_data_triggers_sender | null;
  tags: myManager_MyManager_data_triggers_tags[];
  template: myManager_MyManager_data_triggers_template;
  isEnabled: boolean;
}

export interface myManager_MyManager_data_templates_triggers_sender {
  __typename: "Sender";
  _id: any;
  name: string;
}

export interface myManager_MyManager_data_templates_triggers_tags {
  __typename: "Tag";
  key: string;
  value: string;
}

export interface myManager_MyManager_data_templates_triggers_template {
  __typename: "Template";
  _id: any;
  name: string;
}

export interface myManager_MyManager_data_templates_triggers {
  __typename: "Trigger";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  event: string;
  sender: myManager_MyManager_data_templates_triggers_sender | null;
  tags: myManager_MyManager_data_templates_triggers_tags[];
  template: myManager_MyManager_data_templates_triggers_template;
  isEnabled: boolean;
}

export interface myManager_MyManager_data_templates {
  __typename: "Template";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  name: string;
  description: string;
  content: string;
  replacementFields: string[];
  triggers: myManager_MyManager_data_templates_triggers[];
}

export interface myManager_MyManager_data {
  __typename: "Manager";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  key: string;
  roles: Role[];
  senders: myManager_MyManager_data_senders[];
  point: myManager_MyManager_data_point;
  triggerEventList: string[];
  triggers: myManager_MyManager_data_triggers[];
  templates: myManager_MyManager_data_templates[];
}

export interface myManager_MyManager {
  __typename: "MyManagerResponse";
  ok: boolean;
  errors: string[];
  data: myManager_MyManager_data | null;
}

export interface myManager {
  MyManager: myManager_MyManager;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: senderCreate
// ====================================================

export interface senderCreate_SenderCreate {
  __typename: "SenderAddResponse";
  ok: boolean;
  errors: string[];
}

export interface senderCreate {
  /**
   * Sender 생성과 동시에 Manager에 할당됨
   */
  SenderCreate: senderCreate_SenderCreate;
}

export interface senderCreateVariables {
  input: SenderUpsertInput;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL mutation operation: triggerListEditToTemplate
// ====================================================

export interface triggerListEditToTemplate_TriggerListEditToTemplate {
  __typename: "TriggerListEditToTemplateResponse";
  ok: boolean;
  errors: string[];
}

export interface triggerListEditToTemplate {
  /**
   * Template에 연결된 Trigger 목록 편집
   */
  TriggerListEditToTemplate: triggerListEditToTemplate_TriggerListEditToTemplate;
}

export interface triggerListEditToTemplateVariables {
  input: TriggerListEditToTemplateInput;
  templateId: any;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL query operation: history
// ====================================================

export interface history_History_data_items_template {
  __typename: "Template";
  name: string;
}

export interface history_History_data_items_sender {
  __typename: "Sender";
  phoneNumber: string;
}

export interface history_History_data_items_trigger {
  __typename: "Trigger";
  event: string;
}

export interface history_History_data_items {
  __typename: "HistoryItem";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  amount: number;
  description: string | null;
  isRefunded: boolean | null;
  itemType: HistoryItemType;
  /**
   * SMS 전송 성공여부
   */
  ok: boolean | null;
  /**
   * 알리고 ID
   */
  aligoMid: number | null;
  type: SmsType;
  receivers: string[];
  successCount: number | null;
  errorCount: number | null;
  template: history_History_data_items_template | null;
  sender: history_History_data_items_sender | null;
  trigger: history_History_data_items_trigger | null;
}

export interface history_History_data {
  __typename: "PaginatedHistoryItemResult";
  items: history_History_data_items[];
  currentPage: number;
  totalPage: number;
  rowCount: number;
  totalItemCount: number;
}

export interface history_History {
  __typename: "HistoryResponse";
  ok: boolean;
  errors: string[];
  data: history_History_data | null;
}

export interface history {
  History: history_History;
}

export interface historyVariables {
  filter: HistoryFilter;
  pageArgs: HistoryArgs;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL fragment: Ftrigger
// ====================================================

export interface Ftrigger_sender {
  __typename: "Sender";
  _id: any;
  name: string;
}

export interface Ftrigger_tags {
  __typename: "Tag";
  key: string;
  value: string;
}

export interface Ftrigger_template {
  __typename: "Template";
  _id: any;
  name: string;
}

export interface Ftrigger {
  __typename: "Trigger";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  event: string;
  sender: Ftrigger_sender | null;
  tags: Ftrigger_tags[];
  template: Ftrigger_template;
  isEnabled: boolean;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL fragment: Fpoint
// ====================================================

export interface Fpoint_postpayOption {
  __typename: "PostpayOption";
  lastPayDate: any | null;
  paymentDate: number;
  lastPayAmount: number;
}

export interface Fpoint_prepayOption {
  __typename: "PrepayOption";
  lowerLimit: number;
  amount: number;
}

export interface Fpoint {
  __typename: "Point";
  remains: number;
  chargeType: ChargeType;
  postpayOption: Fpoint_postpayOption | null;
  prepayOption: Fpoint_prepayOption | null;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL fragment: Ftemplate
// ====================================================

export interface Ftemplate {
  __typename: "Template";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  name: string;
  description: string;
  content: string;
  replacementFields: string[];
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

// ====================================================
// GraphQL fragment: Fsender
// ====================================================

export interface Fsender_authInfo {
  __typename: "SenderAuthInfo";
  status: AuthStatus;
  authDate: any | null;
}

export interface Fsender {
  __typename: "Sender";
  _id: any;
  createdAt: any;
  updatedAt: any;
  expiresAt: any | null;
  phoneNumber: string;
  name: string;
  verified: boolean;
  authInfo: Fsender_authInfo;
}

/* tslint:disable */
/* eslint-disable */
// @generated
// This file was automatically generated and should not be edited.

//==============================================================
// START Enums and Input Objects
//==============================================================

/**
 * Present auth conditions
 */
export enum AuthStatus {
  DENIED = "DENIED",
  PENDING = "PENDING",
  PERMITTED = "PERMITTED",
}

/**
 * 과금 방식
 */
export enum ChargeType {
  POSTPAY = "POSTPAY",
  PREPAY = "PREPAY",
}

/**
 * HistoryItem 타입
 */
export enum HistoryItemType {
  CHARGE = "CHARGE",
  USAGE = "USAGE",
}

/**
 * Role for manager
 */
export enum Role {
  ADMIN = "ADMIN",
}

/**
 * SMS => 20원, LMS => 35원, MMS => 100원
 */
export enum SmsType {
  LMS = "LMS",
  MMS = "MMS",
  SMS = "SMS",
}

/**
 * File upload to s3
 */
export interface FileInput {
  upload: any;
  tags?: TagInput[] | null;
}

export interface HistoryArgs {
  page?: number | null;
  row?: number | null;
  sort?: string | null;
}

/**
 * 미완성. 제작중
 */
export interface HistoryFilter {
  historyType: HistoryItemType;
  smsType?: SmsType | null;
}

export interface ReplacementSetInput {
  key: string;
  value: string;
}

export interface SendInput {
  senderId?: any | null;
  sendTargets: SendTargetInput[];
  message: string;
}

export interface SendTargetInput {
  receiver: string;
  replacementSets?: ReplacementSetInput[] | null;
}

export interface SenderUpsertInput {
  phoneNumber: string;
  name: string;
  files?: FileInput[] | null;
}

export interface TagInput {
  key: string;
  value: string;
}

export interface TemplateUpsertInput {
  content?: string | null;
  name?: string | null;
  description?: string | null;
}

export interface TriggerListEditToTemplateInput {
  removeTriggerIds?: any[] | null;
  triggerUpsertInputs?: TriggerUpdateInput[] | null;
}

export interface TriggerUpdateInput {
  triggerId?: any | null;
  params: TriggerUpsertInput;
}

export interface TriggerUpsertInput {
  event?: string | null;
  templateId?: any | null;
  isEnabled?: boolean | null;
  senderId?: any | null;
  description?: string | null;
  tags: TagInput[];
}

//==============================================================
// END Enums and Input Objects
//==============================================================
