gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/tenant/v2/model.go (about)

     1  // Package tenant code generated by oapi sdk gen
     2  /*
     3   * MIT License
     4   *
     5   * Copyright (c) 2022 Lark Technologies Pte. Ltd.
     6   *
     7   * 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:
     8   *
     9   * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software.
    10   *
    11   * 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.
    12   */
    13  
    14  package larktenant
    15  
    16  import (
    17  	"gitee.com/larksuite/oapi-sdk-go/v3/core"
    18  )
    19  
    20  type Avatar struct {
    21  	AvatarOrigin *string `json:"avatar_origin,omitempty"` // 企业头像
    22  	Avatar72     *string `json:"avatar_72,omitempty"`     // 企业头像 72x72
    23  	Avatar240    *string `json:"avatar_240,omitempty"`    // 企业头像 240x240
    24  	Avatar640    *string `json:"avatar_640,omitempty"`    // 企业头像 640x640
    25  }
    26  
    27  type AvatarBuilder struct {
    28  	avatarOrigin     string // 企业头像
    29  	avatarOriginFlag bool
    30  	avatar72         string // 企业头像 72x72
    31  	avatar72Flag     bool
    32  	avatar240        string // 企业头像 240x240
    33  	avatar240Flag    bool
    34  	avatar640        string // 企业头像 640x640
    35  	avatar640Flag    bool
    36  }
    37  
    38  func NewAvatarBuilder() *AvatarBuilder {
    39  	builder := &AvatarBuilder{}
    40  	return builder
    41  }
    42  
    43  // 企业头像
    44  //
    45  // 示例值:https://foo.icon.com/xxxx
    46  func (builder *AvatarBuilder) AvatarOrigin(avatarOrigin string) *AvatarBuilder {
    47  	builder.avatarOrigin = avatarOrigin
    48  	builder.avatarOriginFlag = true
    49  	return builder
    50  }
    51  
    52  // 企业头像 72x72
    53  //
    54  // 示例值:https://foo.icon.com/xxxx
    55  func (builder *AvatarBuilder) Avatar72(avatar72 string) *AvatarBuilder {
    56  	builder.avatar72 = avatar72
    57  	builder.avatar72Flag = true
    58  	return builder
    59  }
    60  
    61  // 企业头像 240x240
    62  //
    63  // 示例值:https://foo.icon.com/xxxx
    64  func (builder *AvatarBuilder) Avatar240(avatar240 string) *AvatarBuilder {
    65  	builder.avatar240 = avatar240
    66  	builder.avatar240Flag = true
    67  	return builder
    68  }
    69  
    70  // 企业头像 640x640
    71  //
    72  // 示例值:https://foo.icon.com/xxxx
    73  func (builder *AvatarBuilder) Avatar640(avatar640 string) *AvatarBuilder {
    74  	builder.avatar640 = avatar640
    75  	builder.avatar640Flag = true
    76  	return builder
    77  }
    78  
    79  func (builder *AvatarBuilder) Build() *Avatar {
    80  	req := &Avatar{}
    81  	if builder.avatarOriginFlag {
    82  		req.AvatarOrigin = &builder.avatarOrigin
    83  
    84  	}
    85  	if builder.avatar72Flag {
    86  		req.Avatar72 = &builder.avatar72
    87  
    88  	}
    89  	if builder.avatar240Flag {
    90  		req.Avatar240 = &builder.avatar240
    91  
    92  	}
    93  	if builder.avatar640Flag {
    94  		req.Avatar640 = &builder.avatar640
    95  
    96  	}
    97  	return req
    98  }
    99  
   100  type Tenant struct {
   101  	Name      *string `json:"name,omitempty"`       // 企业名称
   102  	DisplayId *string `json:"display_id,omitempty"` // 企业编号,平台内唯一
   103  	TenantTag *int    `json:"tenant_tag,omitempty"` // 个人版/团队版标志
   104  	TenantKey *string `json:"tenant_key,omitempty"` // 企业标识
   105  	Avatar    *Avatar `json:"avatar,omitempty"`     // 企业头像
   106  }
   107  
   108  type TenantBuilder struct {
   109  	name          string // 企业名称
   110  	nameFlag      bool
   111  	displayId     string // 企业编号,平台内唯一
   112  	displayIdFlag bool
   113  	tenantTag     int // 个人版/团队版标志
   114  	tenantTagFlag bool
   115  	tenantKey     string // 企业标识
   116  	tenantKeyFlag bool
   117  	avatar        *Avatar // 企业头像
   118  	avatarFlag    bool
   119  }
   120  
   121  func NewTenantBuilder() *TenantBuilder {
   122  	builder := &TenantBuilder{}
   123  	return builder
   124  }
   125  
   126  // 企业名称
   127  //
   128  // 示例值:企业名称
   129  func (builder *TenantBuilder) Name(name string) *TenantBuilder {
   130  	builder.name = name
   131  	builder.nameFlag = true
   132  	return builder
   133  }
   134  
   135  // 企业编号,平台内唯一
   136  //
   137  // 示例值:F123456789
   138  func (builder *TenantBuilder) DisplayId(displayId string) *TenantBuilder {
   139  	builder.displayId = displayId
   140  	builder.displayIdFlag = true
   141  	return builder
   142  }
   143  
   144  // 个人版/团队版标志
   145  //
   146  // 示例值:0
   147  func (builder *TenantBuilder) TenantTag(tenantTag int) *TenantBuilder {
   148  	builder.tenantTag = tenantTag
   149  	builder.tenantTagFlag = true
   150  	return builder
   151  }
   152  
   153  // 企业标识
   154  //
   155  // 示例值:abcdefghi
   156  func (builder *TenantBuilder) TenantKey(tenantKey string) *TenantBuilder {
   157  	builder.tenantKey = tenantKey
   158  	builder.tenantKeyFlag = true
   159  	return builder
   160  }
   161  
   162  // 企业头像
   163  //
   164  // 示例值:
   165  func (builder *TenantBuilder) Avatar(avatar *Avatar) *TenantBuilder {
   166  	builder.avatar = avatar
   167  	builder.avatarFlag = true
   168  	return builder
   169  }
   170  
   171  func (builder *TenantBuilder) Build() *Tenant {
   172  	req := &Tenant{}
   173  	if builder.nameFlag {
   174  		req.Name = &builder.name
   175  
   176  	}
   177  	if builder.displayIdFlag {
   178  		req.DisplayId = &builder.displayId
   179  
   180  	}
   181  	if builder.tenantTagFlag {
   182  		req.TenantTag = &builder.tenantTag
   183  
   184  	}
   185  	if builder.tenantKeyFlag {
   186  		req.TenantKey = &builder.tenantKey
   187  
   188  	}
   189  	if builder.avatarFlag {
   190  		req.Avatar = builder.avatar
   191  	}
   192  	return req
   193  }
   194  
   195  type QueryTenantRespData struct {
   196  	Tenant *Tenant `json:"tenant,omitempty"` // 企业信息
   197  }
   198  
   199  type QueryTenantResp struct {
   200  	*larkcore.ApiResp `json:"-"`
   201  	larkcore.CodeError
   202  	Data *QueryTenantRespData `json:"data"` // 业务数据
   203  }
   204  
   205  func (resp *QueryTenantResp) Success() bool {
   206  	return resp.Code == 0
   207  }