gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/approval/v4/ext_model.go (about)

     1  /*
     2   * MIT License
     3   *
     4   * Copyright (c) 2022 Lark Technologies Pte. Ltd.
     5   *
     6   * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
     7   *
     8   * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software.
     9   *
    10   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    11   */
    12  
    13  package larkapproval
    14  
    15  import larkevent "gitee.com/larksuite/oapi-sdk-go/v3/event"
    16  
    17  type P1LeaveApprovalV4 struct {
    18  	*larkevent.EventReq
    19  	*larkevent.EventBase
    20  	Event *P1LeaveApprovalV4Data `json:"event"`
    21  }
    22  
    23  func (m *P1LeaveApprovalV4) RawReq(req *larkevent.EventReq) {
    24  	m.EventReq = req
    25  }
    26  
    27  type P1LeaveApprovalV4Data struct {
    28  	AppID              string `json:"app_id,omitempty"`               // APP ID
    29  	TenantKey          string `json:"tenant_key,omitempty"`           // 企业标识
    30  	Type               string `json:"type,omitempty"`                 // 事件回调此处固定为event_callback
    31  	InstanceCode       string `json:"instance_code,omitempty"`        // 审批实例Code
    32  	UserID             string `json:"user_id,omitempty"`              // 用户id
    33  	OpenID             string `json:"open_id,omitempty"`              // 用户open_id
    34  	OriginInstanceCode string `json:"origin_instance_code,omitempty"` // 销假单关联的原始单据
    35  	StartTime          int64  `json:"start_time,omitempty"`           // 销假单关联的原始单据
    36  	EndTime            int64  `json:"end_time,omitempty"`             // 审批结束时间
    37  
    38  	LeaveFeedingArriveLate int64 `json:"leave_feeding_arrive_late,omitempty"` //上班晚到(哺乳假相关)
    39  	LeaveFeedingLeaveEarly int64 `json:"leave_feeding_leave_early,omitempty"` //下班早走(哺乳假相关)
    40  	LeaveFeedingRestDaily  int64 `json:"leave_feeding_rest_daily,omitempty"`  //每日休息(哺乳假相关)
    41  
    42  	LeaveName      string                           `json:"leave_name,omitempty"`       // 假期名称
    43  	LeaveUnit      string                           `json:"leave_unit,omitempty"`       // 请假最小时长
    44  	LeaveStartTime string                           `json:"leave_start_time,omitempty"` // 请假开始时间
    45  	LeaveEndTime   string                           `json:"leave_end_time,omitempty"`   // 请假结束时间
    46  	LeaveDetail    []string                         `json:"leave_detail,omitempty"`     // 具体的请假明细时间
    47  	LeaveRange     []string                         `json:"leave_range,omitempty"`      // 具体的请假时间范围
    48  	LeaveInterval  int64                            `json:"leave_interval,omitempty"`   // 请假时长,单位(秒)
    49  	LeaveReason    string                           `json:"leave_reason,omitempty"`     // 请假事由
    50  	I18nResources  []*P1LeaveApprovalI18nResourceV4 `json:"i18n_resources,omitempty"`   // 国际化文案
    51  }
    52  
    53  type P1LeaveApprovalI18nResourceV4 struct {
    54  	Locale    string            `json:"locale,omitempty"`     // 如: en_us
    55  	IsDefault bool              `json:"is_default,omitempty"` // 如: true
    56  	Texts     map[string]string `json:"texts,omitempty"`
    57  }
    58  
    59  type P1WorkApprovalV4 struct {
    60  	*larkevent.EventReq
    61  	*larkevent.EventBase
    62  	Event *P1WorkApprovalV4Data `json:"event"`
    63  }
    64  
    65  func (m *P1WorkApprovalV4) RawReq(req *larkevent.EventReq) {
    66  	m.EventReq = req
    67  }
    68  
    69  type P1WorkApprovalV4Data struct {
    70  	AppID         string `json:"app_id,omitempty"`          // APP ID
    71  	TenantKey     string `json:"tenant_key,omitempty"`      // 企业标识
    72  	Type          string `json:"type,omitempty"`            //事件回调此处固定为event_callback
    73  	InstanceCode  string `json:"instance_code,omitempty"`   // 审批实例Code
    74  	EmployeeID    string `json:"employee_id,omitempty"`     // 用户id
    75  	OpenID        string `json:"open_id,omitempty"`         // 用户open_id
    76  	StartTime     int64  `json:"start_time,omitempty"`      // 审批发起时间
    77  	EndTime       int64  `json:"end_time,omitempty"`        // 审批结束时间
    78  	WorkType      string `json:"work_type,omitempty"`       // 加班类型
    79  	WorkStartTime string `json:"work_start_time,omitempty"` // 加班开始时间
    80  	WorkEndTime   string `json:"work_end_time,omitempty"`   // 加班结束时间
    81  	WorkInterval  int64  `json:"work_interval,omitempty"`   // 加班时长,单位(秒)
    82  	WorkReason    string `json:"work_reason,omitempty"`     // 加班事由
    83  }
    84  
    85  type P1ShiftApprovalV4 struct {
    86  	*larkevent.EventReq
    87  	*larkevent.EventBase
    88  	Event *P1ShiftApprovalV4Data `json:"event"`
    89  }
    90  
    91  func (m *P1ShiftApprovalV4) RawReq(req *larkevent.EventReq) {
    92  	m.EventReq = req
    93  }
    94  
    95  type P1ShiftApprovalV4Data struct {
    96  	AppID        string `json:"app_id,omitempty"`        // APP ID
    97  	TenantKey    string `json:"tenant_key,omitempty"`    // 企业标识
    98  	Type         string `json:"type,omitempty"`          //事件回调此处固定为event_callback
    99  	InstanceCode string `json:"instance_code,omitempty"` // 审批实例Code
   100  	EmployeeID   string `json:"employee_id,omitempty"`   // 用户id
   101  	OpenID       string `json:"open_id,omitempty"`       // 用户open_id
   102  	StartTime    int64  `json:"start_time,omitempty"`    // 审批发起时间
   103  	EndTime      int64  `json:"end_time,omitempty"`      // 审批结束时间
   104  	ShiftTime    string `json:"shift_time,omitempty"`    // 换班时间
   105  	ReturnTime   string `json:"return_time,omitempty"`   // 还班时间
   106  	ShiftReason  string `json:"shift_reason,omitempty"`  // 换班事由
   107  }
   108  
   109  type P1RemedyApprovalV4 struct {
   110  	*larkevent.EventReq
   111  	*larkevent.EventBase
   112  	Event *P1RemedyApprovalV4Data `json:"event"`
   113  }
   114  
   115  func (m *P1RemedyApprovalV4) RawReq(req *larkevent.EventReq) {
   116  	m.EventReq = req
   117  }
   118  
   119  type P1RemedyApprovalV4Data struct {
   120  	AppID        string `json:"app_id,omitempty"`        // APP ID
   121  	TenantKey    string `json:"tenant_key,omitempty"`    // 企业标识
   122  	Type         string `json:"type,omitempty"`          //事件回调此处固定为event_callback
   123  	InstanceCode string `json:"instance_code,omitempty"` // 审批实例Code
   124  	EmployeeID   string `json:"employee_id,omitempty"`   // 用户id
   125  	OpenID       string `json:"open_id,omitempty"`       // 用户open_id
   126  	StartTime    int64  `json:"start_time,omitempty"`    // 审批发起时间
   127  	EndTime      int64  `json:"end_time,omitempty"`      // 审批结束时间
   128  	RemedyTime   string `json:"remedy_time,omitempty"`   // 补卡时间
   129  	RemedyReason string `json:"remedy_reason,omitempty"` // 补卡原因
   130  }
   131  
   132  type P1TripApprovalV4 struct {
   133  	*larkevent.EventReq
   134  	*larkevent.EventBase
   135  	Event *P1TripApprovalV4Data `json:"event"`
   136  }
   137  
   138  func (m *P1TripApprovalV4) RawReq(req *larkevent.EventReq) {
   139  	m.EventReq = req
   140  }
   141  
   142  type P1TripApprovalV4Data struct {
   143  	AppID        string                      `json:"app_id,omitempty"`        // APP ID
   144  	TenantKey    string                      `json:"tenant_key,omitempty"`    // 企业标识
   145  	Type         string                      `json:"type,omitempty"`          //事件回调此处固定为event_callback
   146  	InstanceCode string                      `json:"instance_code,omitempty"` // 审批实例Code
   147  	EmployeeID   string                      `json:"employee_id,omitempty"`   // 用户id
   148  	OpenID       string                      `json:"open_id,omitempty"`       // 用户open_id
   149  	StartTime    int64                       `json:"start_time,omitempty"`    // 审批发起时间
   150  	EndTime      int64                       `json:"end_time,omitempty"`      // 审批结束时间
   151  	Schedules    []*P1TripApprovalScheduleV4 `json:"schedules,omitempty"`     // Schedule 结构数组
   152  	TripInterval int64                       `json:"trip_interval,omitempty"` // 行程总时长(秒)
   153  	TripReason   string                      `json:"trip_reason,omitempty"`   // 出差事由
   154  	TripPeers    []string                    `json:"trip_peers,omitempty"`    // 同行人
   155  }
   156  
   157  type P1TripApprovalScheduleV4 struct {
   158  	TripStartTime  string `json:"trip_start_time,omitempty"` // 行程开始时间
   159  	TripEndTime    string `json:"trip_end_time,omitempty"`   // 行程结束时间
   160  	TripInterval   int64  `json:"trip_interval,omitempty"`   // 行程时长(秒)
   161  	Departure      string `json:"departure,omitempty"`       // 出发地
   162  	Destination    string `json:"destination,omitempty"`     // 目的地
   163  	Transportation string `json:"transportation,omitempty"`  // 交通工具
   164  	TripType       string `json:"trip_type,omitempty"`       // 单程/往返
   165  	Remark         string `json:"remark,omitempty"`          // 备注
   166  }
   167  
   168  type P1TripApprovalTripPeerV4 struct {
   169  	string `json:",omitempty"`
   170  }
   171  
   172  type P1OutApprovalV4 struct {
   173  	*larkevent.EventReq
   174  	*larkevent.EventBase
   175  	Event *P1OutApprovalV4Data `json:"event"`
   176  }
   177  
   178  func (m *P1OutApprovalV4) RawReq(req *larkevent.EventReq) {
   179  	m.EventReq = req
   180  }
   181  
   182  type P1OutApprovalV4Data struct {
   183  	AppID         string                         `json:"app_id,omitempty"`         // APP ID
   184  	I18nResources []*P1OutApprovalI18nResourceV4 `json:"i18n_resources,omitempty"` // 国际化文案
   185  	InstanceCode  string                         `json:"instance_code,omitempty"`  // 此审批的唯一标识
   186  	OutImage      string                         `json:"out_image,omitempty"`
   187  	OutInterval   int64                          `json:"out_interval,omitempty"`   // 外出时长,单位秒
   188  	OutName       string                         `json:"out_name,omitempty"`       // 通过i18n_resources里的信息换取相应语言的文案
   189  	OutReason     string                         `json:"out_reason,omitempty"`     // 外出事由
   190  	OutStartTime  string                         `json:"out_start_time,omitempty"` // 外出开始时间
   191  	OutEndTime    string                         `json:"out_end_time,omitempty"`   // 外出结束时间
   192  	OutUnit       string                         `json:"out_unit,omitempty"`       // 外出时长的单位,HOUR 小时,DAY 天,HALF_DAY 半天
   193  	StartTime     int64                          `json:"start_time,omitempty"`     // 审批开始时间
   194  	EndTime       int64                          `json:"end_time,omitempty"`       // 审批结束时间
   195  	TenantKey     string                         `json:"tenant_key,omitempty"`     // 企业标识
   196  	Type          string                         `json:"type,omitempty"`           // 此事件此处始终为event_callback
   197  	OpenID        string                         `json:"open_id,omitempty"`        // 申请发起人open_id
   198  	UserID        string                         `json:"user_id,omitempty"`        // 申请发起人
   199  }
   200  
   201  type P1OutApprovalI18nResourceV4 struct {
   202  	IsDefault bool              `json:"is_default,omitempty"`
   203  	Locale    string            `json:"locale,omitempty"`
   204  	Texts     map[string]string `json:"texts,omitempty"` // key对应的文案
   205  }