From fdde31710cf0b94560583e1039088c90a21de5d6 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期二, 18 七月 2023 15:12:56 +0800
Subject: [PATCH] add
---
docs/swagger.yaml | 870 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 869 insertions(+), 1 deletions(-)
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 9e073d8..9ebebbd 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -60,6 +60,22 @@
msg:
type: string
type: object
+ model.Authority:
+ properties:
+ authorityName:
+ description: 瑙掕壊鍚�
+ type: string
+ defaultRouter:
+ description: 榛樿鑿滃崟(榛樿dashboard)
+ type: string
+ id:
+ description: 瑙掕壊ID
+ type: integer
+ menus:
+ items:
+ $ref: '#/definitions/model.Menu'
+ type: array
+ type: object
model.City:
properties:
id:
@@ -79,12 +95,20 @@
$ref: '#/definitions/model.City'
city_id:
type: integer
+ client_level:
+ $ref: '#/definitions/model.ClientLevel'
client_level_id:
type: integer
+ client_origin:
+ $ref: '#/definitions/model.ClientOrigin'
client_origin_id:
type: integer
+ client_status:
+ $ref: '#/definitions/model.ClientStatus'
client_status_id:
type: integer
+ client_type:
+ $ref: '#/definitions/model.ClientType'
client_type_id:
type: integer
contacts:
@@ -296,6 +320,23 @@
$ref: '#/definitions/model.Province'
type: array
type: object
+ model.CustomerServiceSheet:
+ properties:
+ handleStatus:
+ type: integer
+ id:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ priority:
+ type: integer
+ serviceFollowupId:
+ type: integer
+ serviceMode:
+ type: integer
+ type: object
model.EnterpriseNature:
properties:
id:
@@ -312,10 +353,14 @@
type: object
model.FollowRecord:
properties:
+ client:
+ $ref: '#/definitions/model.Client'
client_id:
type: integer
client_status_id:
type: integer
+ contact:
+ $ref: '#/definitions/model.Contact'
contact_id:
type: integer
contact_information_id:
@@ -365,6 +410,24 @@
number:
type: string
start_time:
+ type: string
+ type: object
+ model.Menu:
+ properties:
+ children:
+ items:
+ $ref: '#/definitions/model.Menu'
+ type: array
+ id:
+ description: 涓婚敭ID
+ type: integer
+ name:
+ type: string
+ parentId:
+ type: integer
+ path:
+ type: string
+ title:
type: string
type: object
model.Plan:
@@ -723,6 +786,56 @@
typeId:
type: integer
type: object
+ model.ServiceFeeManage:
+ properties:
+ client:
+ $ref: '#/definitions/model.Client'
+ client_id:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
+ model.ServiceFollowup:
+ properties:
+ clientId:
+ type: integer
+ contactId:
+ type: integer
+ customerServiceSheet:
+ $ref: '#/definitions/model.CustomerServiceSheet'
+ file:
+ type: string
+ id:
+ type: integer
+ isVisit:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ oldMemberId:
+ type: integer
+ planId:
+ type: integer
+ remark:
+ type: string
+ satisfaction:
+ type: integer
+ serviceId:
+ type: integer
+ solveRate:
+ type: integer
+ timelyRate:
+ type: integer
+ type: object
model.SubOrder:
properties:
clientId:
@@ -742,6 +855,11 @@
type: object
model.User:
properties:
+ authority:
+ $ref: '#/definitions/model.Authority'
+ authorityId:
+ description: 鐢ㄦ埛瑙掕壊ID
+ type: integer
companyName:
type: string
createAt:
@@ -783,6 +901,15 @@
$ref: '#/definitions/constvar.UserType'
username:
type: string
+ type: object
+ request.AddAuthority:
+ properties:
+ authorityName:
+ type: string
+ casbinInfos:
+ items:
+ $ref: '#/definitions/request.CasbinInfo'
+ type: array
type: object
request.AddCity:
properties:
@@ -953,6 +1080,19 @@
description: 鍥藉鍚嶇О
type: string
type: object
+ request.AddCustomerServiceSheet:
+ properties:
+ handleStatus:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ priority:
+ type: integer
+ serviceMode:
+ type: integer
+ type: object
request.AddEnterpriseNature:
properties:
name:
@@ -995,6 +1135,27 @@
type: string
start_time:
type: string
+ type: object
+ request.AddOrderManage:
+ properties:
+ clientId:
+ type: integer
+ contactId:
+ type: integer
+ file:
+ type: string
+ name:
+ type: string
+ number:
+ type: string
+ orderType:
+ type: integer
+ problemDescription:
+ type: string
+ reportSourceId:
+ type: integer
+ sourceSheet:
+ type: integer
type: object
request.AddPlan:
properties:
@@ -1228,6 +1389,48 @@
typeId:
type: integer
type: object
+ request.AddServiceFeeManage:
+ properties:
+ client_id:
+ type: integer
+ file:
+ type: string
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
+ request.AddServiceFollowup:
+ properties:
+ clientId:
+ type: integer
+ contactId:
+ type: integer
+ file:
+ type: string
+ isVisit:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ oldMemberId:
+ type: integer
+ planId:
+ type: integer
+ remark:
+ type: string
+ satisfaction:
+ type: integer
+ serviceId:
+ type: integer
+ solveRate:
+ type: integer
+ timelyRate:
+ type: integer
+ type: object
request.AddStatus:
properties:
name:
@@ -1239,6 +1442,15 @@
properties:
subOrder:
$ref: '#/definitions/request.SubOrder'
+ type: object
+ request.CasbinInfo:
+ properties:
+ method:
+ description: 鏂规硶
+ type: string
+ path:
+ description: 璺緞
+ type: string
type: object
request.ChangePasswordReq:
properties:
@@ -1269,6 +1481,76 @@
pos:
description: 鐢ㄦ埛宀椾綅
type: string
+ type: object
+ request.Client:
+ properties:
+ business_scope:
+ description: 缁忚惀鑼冨洿
+ type: string
+ city_id:
+ type: integer
+ client_level_id:
+ description: 瀹㈡埛绛夌骇ID
+ type: integer
+ client_origin_id:
+ description: 瀹㈡埛鏉ユ簮ID
+ type: integer
+ client_status_id:
+ description: 瀹㈡埛鐘舵�両D
+ type: integer
+ client_type_id:
+ description: 瀹㈡埛绫诲瀷ID
+ type: integer
+ contact:
+ $ref: '#/definitions/request.Contact'
+ country_id:
+ type: integer
+ detail_address:
+ description: 璇︾粏鍦板潃
+ type: string
+ enterprise_nature_id:
+ description: 浼佷笟鎬ц川
+ type: integer
+ enterprise_scale_id:
+ description: 浼佷笟瑙勬ā
+ type: integer
+ industry_id:
+ description: 鎵�灞炶涓�
+ type: integer
+ latest_service_time:
+ description: 鏈�鏅氭湇鍔℃椂闂�
+ type: string
+ member_id:
+ description: 閿�鍞礋璐d汉ID
+ type: integer
+ name:
+ description: 鍏徃鍚嶇О
+ type: string
+ next_visit_time:
+ description: 涓嬫鍥炶鏃堕棿
+ type: string
+ number:
+ description: 鍏徃缂栧彿
+ type: string
+ province_id:
+ type: integer
+ region_id:
+ type: integer
+ registered_capital_id:
+ description: 娉ㄥ唽璧勯噾
+ type: integer
+ registration_time:
+ description: 娉ㄥ唽鏃堕棿
+ type: string
+ remark:
+ description: 澶囨敞
+ type: string
+ representative:
+ description: 娉曚汉浠h〃
+ type: string
+ service_member_id:
+ description: 鏈嶅姟璐熻矗浜篒D
+ type: integer
type: object
request.Contact:
properties:
@@ -1507,6 +1789,15 @@
type: string
status:
type: integer
+ type: object
+ request.SetAuthorityMenu:
+ properties:
+ authorityId:
+ type: integer
+ menus:
+ items:
+ type: integer
+ type: array
type: object
request.SetCity:
properties:
@@ -1796,6 +2087,21 @@
description: 鍥藉鍚嶇О
type: string
type: object
+ request.UpdateCustomerServiceSheet:
+ properties:
+ handleStatus:
+ type: integer
+ id:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ priority:
+ type: integer
+ serviceMode:
+ type: integer
+ type: object
request.UpdateEnterpriseNature:
properties:
id:
@@ -1874,6 +2180,29 @@
type: string
start_time:
type: string
+ type: object
+ request.UpdateOrderManage:
+ properties:
+ clientId:
+ type: integer
+ contactId:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ name:
+ type: string
+ number:
+ type: string
+ orderType:
+ type: integer
+ problemDescription:
+ type: string
+ reportSourceId:
+ type: integer
+ sourceSheet:
+ type: integer
type: object
request.UpdatePlan:
properties:
@@ -2231,6 +2560,54 @@
typeId:
type: integer
type: object
+ request.UpdateServiceFeeManage:
+ properties:
+ client:
+ $ref: '#/definitions/request.Client'
+ client_id:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
+ request.UpdateServiceFollowup:
+ properties:
+ clientId:
+ type: integer
+ contactId:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ isVisit:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ oldMemberId:
+ type: integer
+ planId:
+ type: integer
+ remark:
+ type: string
+ satisfaction:
+ type: integer
+ serviceId:
+ type: integer
+ solveRate:
+ type: integer
+ timelyRate:
+ type: integer
+ type: object
request.UpdateStatus:
properties:
id:
@@ -2330,6 +2707,89 @@
$ref: '#/definitions/model.Country'
type: array
type: object
+ response.DataResponse:
+ properties:
+ city:
+ description: 鍩庡競鏁版嵁
+ items:
+ $ref: '#/definitions/model.City'
+ type: array
+ client_level:
+ description: 瀹㈡埛绛夌骇
+ items:
+ $ref: '#/definitions/model.ClientLevel'
+ type: array
+ client_origin:
+ description: 瀹㈡埛鏉ユ簮
+ items:
+ $ref: '#/definitions/model.ClientOrigin'
+ type: array
+ client_status:
+ description: 瀹㈡埛鐘舵��
+ items:
+ $ref: '#/definitions/model.ClientStatus'
+ type: array
+ client_type:
+ description: 瀹㈡埛绫诲瀷
+ items:
+ $ref: '#/definitions/model.ClientType'
+ type: array
+ country:
+ description: 鍥藉鏁版嵁
+ items:
+ $ref: '#/definitions/model.Country'
+ type: array
+ enterprise_nature:
+ description: 浼佷笟鎬ц川
+ items:
+ $ref: '#/definitions/model.EnterpriseNature'
+ type: array
+ enterprise_scale:
+ description: 浼佷笟瑙勬ā
+ items:
+ $ref: '#/definitions/model.EnterpriseScale'
+ type: array
+ industry:
+ description: 琛屼笟
+ items:
+ $ref: '#/definitions/model.Industry'
+ type: array
+ province:
+ description: 鐪佷唤鏁版嵁
+ items:
+ $ref: '#/definitions/model.Province'
+ type: array
+ region:
+ description: 鍖哄煙鏁版嵁
+ items:
+ $ref: '#/definitions/model.Region'
+ type: array
+ registered_capital:
+ description: 娉ㄥ唽璧勯噾
+ items:
+ $ref: '#/definitions/model.RegisteredCapital'
+ type: array
+ regular_customers:
+ description: 鑰佸鎴疯惀閿�
+ items:
+ $ref: '#/definitions/model.RegularCustomers'
+ type: array
+ sale_stage:
+ description: 閿�鍞樁娈�
+ items:
+ $ref: '#/definitions/model.SaleStage'
+ type: array
+ sale_type:
+ description: 閿�鍞被鍨�
+ items:
+ $ref: '#/definitions/model.SaleType'
+ type: array
+ sales_source:
+ description: 鍟嗘満鏉ユ簮
+ items:
+ $ref: '#/definitions/model.SalesSources'
+ type: array
+ type: object
response.EnterpriseNatureResponse:
properties:
list:
@@ -2372,6 +2832,13 @@
list:
items:
$ref: '#/definitions/model.MasterOrder'
+ type: array
+ type: object
+ response.MenuTreeResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.Menu'
type: array
type: object
response.PageResult:
@@ -2482,6 +2949,20 @@
$ref: '#/definitions/model.ServiceContract'
type: array
type: object
+ response.ServiceFeeManageResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.ServiceFeeManage'
+ type: array
+ type: object
+ response.ServiceFollowupResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.ServiceFollowup'
+ type: array
+ type: object
response.SubOrderResponse:
properties:
list:
@@ -2497,6 +2978,52 @@
info:
contact: {}
paths:
+ /api/authority/add:
+ post:
+ consumes:
+ - application/json
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddAuthority'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ security:
+ - ApiKeyAuth: []
+ summary: 鍒涘缓瑙掕壊
+ tags:
+ - Authority
+ /api/authority/setMenuAuthority:
+ post:
+ consumes:
+ - application/json
+ parameters:
+ - description: 璁剧疆瑙掕壊璧勬簮鏉冮檺
+ in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/request.SetAuthorityMenu'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ security:
+ - ApiKeyAuth: []
+ summary: 璁剧疆瑙掕壊鑿滃崟
+ tags:
+ - Authority
/api/base/captcha:
post:
produces:
@@ -2577,6 +3104,11 @@
- City
/api/city/list:
get:
+ parameters:
+ - description: 鐪佷唤ID
+ in: query
+ name: province_id
+ type: integer
produces:
- application/json
responses:
@@ -2685,7 +3217,7 @@
tags:
- Client
/api/client/update:
- post:
+ put:
parameters:
- description: 鏌ヨ鍙傛暟
in: body
@@ -3215,6 +3747,91 @@
summary: 鏇存柊鍥藉
tags:
- Country
+ /api/customerServiceSheet/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddCustomerServiceSheet'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞瀹㈡湇鍗�
+ tags:
+ - CustomerServiceSheet
+ /api/customerServiceSheet/delete/{id}:
+ delete:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: path
+ name: id
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鍒犻櫎瀹㈡湇鍗�
+ tags:
+ - CustomerServiceSheet
+ /api/customerServiceSheet/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鑾峰彇瀹㈡湇鍗曞垪琛�
+ tags:
+ - CustomerServiceSheet
+ /api/customerServiceSheet/update/{id}:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateCustomerServiceSheet'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊瀹㈡湇鍗�
+ tags:
+ - CustomerServiceSheet
+ /api/data/getAllData:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.DataResponse'
+ type: object
+ summary: 鑾峰彇鎵�鏈夋暟鎹�
+ tags:
+ - Data
/api/enterpriseNature/add:
post:
parameters:
@@ -3597,6 +4214,99 @@
summary: 鏇存柊涓昏鍗�
tags:
- MasterOrder
+ /api/menu/getMenu:
+ get:
+ parameters:
+ - description: Authorization
+ in: header
+ name: Authorization
+ required: true
+ type: string
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.MenuTreeResponse'
+ type: object
+ security:
+ - ApiKeyAuth: []
+ summary: 鑾峰彇鑿滃崟鏍�
+ tags:
+ - Menu
+ /api/orderManage/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddOrderManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞璁㈠崟
+ tags:
+ - OrderManage
+ /api/orderManage/delete/{id}:
+ delete:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: path
+ name: id
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鍒犻櫎璁㈠崟
+ tags:
+ - OrderManage
+ /api/orderManage/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 璁㈠崟鍒楄〃
+ tags:
+ - OrderManage
+ /api/orderManage/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateOrderManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊璁㈠崟
+ tags:
+ - OrderManage
/api/plan/add:
post:
parameters:
@@ -3782,6 +4492,12 @@
- Province
/api/province/list:
get:
+ parameters:
+ - description: 鍥藉ID
+ in: query
+ name: country_id
+ required: true
+ type: integer
produces:
- application/json
responses:
@@ -3947,6 +4663,12 @@
- Region
/api/region/list:
get:
+ parameters:
+ - description: 鍩庡競ID
+ in: query
+ name: city_id
+ required: true
+ type: integer
produces:
- application/json
responses:
@@ -4793,6 +5515,152 @@
summary: 鏇存柊鏈嶅姟鍚堝悓
tags:
- ServiceContract
+ /api/serviceFeeManage/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddServiceFeeManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/delete/{id}:
+ delete:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: path
+ name: id
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鍒犻櫎鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.ServiceFeeManageResponse'
+ type: object
+ summary: 鏈嶅姟璐圭鐞嗗垪琛�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateServiceFeeManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFollowup/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddServiceFollowup'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞鏈嶅姟璺熻繘
+ tags:
+ - ServiceFollowup
+ /api/serviceFollowup/delete/{id}:
+ delete:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: path
+ name: id
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鍒犻櫎鏈嶅姟璺熻繘
+ tags:
+ - ServiceFollowup
+ /api/serviceFollowup/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.ServiceFollowupResponse'
+ type: object
+ summary: 鏈嶅姟璺熻繘鍒楄〃
+ tags:
+ - ServiceFollowup
+ /api/serviceFollowup/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateServiceFollowup'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊鏈嶅姟璺熻繘
+ tags:
+ - ServiceFollowup
/api/status/add:
post:
parameters:
--
Gitblit v1.8.0