1
0
mirror of synced 2024-11-30 07:06:02 +03:00

Merge pull request #53 from gwinn/release

replaceMarkdownSymbols
This commit is contained in:
Alex Lushpai 2018-11-07 18:12:38 +03:00 committed by GitHub
commit 862448e942
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 24 deletions

View File

@ -6,10 +6,10 @@ import "time"
type Connection struct {
ID int `gorm:"primary_key"`
ClientID string `gorm:"client_id type:varchar(70);not null;unique" json:"clientId,omitempty"`
APIKEY string `gorm:"api_key type:varchar(100);not null" json:"api_key,omitempty" binding:"required"`
APIURL string `gorm:"api_url type:varchar(255);not null" json:"api_url,omitempty" binding:"required,validatecrmurl"`
MGURL string `gorm:"mg_url type:varchar(255);not null;" json:"mg_url,omitempty"`
MGToken string `gorm:"mg_token type:varchar(100);not null;unique" json:"mg_token,omitempty"`
APIKEY string `gorm:"api_key type:varchar(100);not null" json:"api_key,omitempty" binding:"required,max=100"`
APIURL string `gorm:"api_url type:varchar(255);not null" json:"api_url,omitempty" binding:"required,validatecrmurl,max=255"`
MGURL string `gorm:"mg_url type:varchar(255);not null;" json:"mg_url,omitempty" binding:"max=255"`
MGToken string `gorm:"mg_token type:varchar(100);not null;unique" json:"mg_token,omitempty" binding:"max=100"`
CreatedAt time.Time
UpdatedAt time.Time
Active bool `json:"active,omitempty"`
@ -21,10 +21,10 @@ type Bot struct {
ID int `gorm:"primary_key"`
ConnectionID int `gorm:"connection_id" json:"connectionId,omitempty"`
Channel uint64 `gorm:"channel;not null;unique" json:"channel,omitempty"`
ChannelSettingsHash string `gorm:"channel_settings_hash type:varchar(70)"`
Token string `gorm:"token type:varchar(100);not null;unique" json:"token,omitempty"`
Name string `gorm:"name type:varchar(40)" json:"name,omitempty"`
Lang string `gorm:"lang type:varchar(2)" json:"lang,omitempty"`
ChannelSettingsHash string `gorm:"channel_settings_hash type:varchar(70)" binding:"max=70"`
Token string `gorm:"token type:varchar(100);not null;unique" json:"token,omitempty" binding:"max=100"`
Name string `gorm:"name type:varchar(40)" json:"name,omitempty" binding:"max=40"`
Lang string `gorm:"lang type:varchar(2)" json:"lang,omitempty" binding:"max=2"`
CreatedAt time.Time
UpdatedAt time.Time
}
@ -33,8 +33,8 @@ type Bot struct {
type User struct {
ID int `gorm:"primary_key"`
ExternalID int `gorm:"external_id;not null;unique"`
UserPhotoURL string `gorm:"user_photo_url type:varchar(255)"`
UserPhotoID string `gorm:"user_photo_id type:varchar(100)"`
UserPhotoURL string `gorm:"user_photo_url type:varchar(255)" binding:"max=255"`
UserPhotoID string `gorm:"user_photo_id type:varchar(100)" binding:"max=100"`
CreatedAt time.Time
UpdatedAt time.Time
}

View File

@ -591,7 +591,7 @@ func mgWebhookHandler(c *gin.Context) {
var mb string
switch msg.Data.Type {
case v1.MsgTypeProduct:
mb = fmt.Sprintf("*%s*\n", msg.Data.Product.Name)
mb = fmt.Sprintf("*%s*\n", replaceMarkdownSymbols(msg.Data.Product.Name))
if msg.Data.Product.Cost != nil && msg.Data.Product.Cost.Value != 0 {
mb += fmt.Sprintf(
@ -608,9 +608,9 @@ func mgWebhookHandler(c *gin.Context) {
}
if msg.Data.Product.Url != "" {
mb += msg.Data.Product.Url
mb += replaceMarkdownSymbols(msg.Data.Product.Url)
} else {
mb += msg.Data.Product.Img
mb += replaceMarkdownSymbols(msg.Data.Product.Img)
}
case v1.MsgTypeOrder:
mb = getOrderMessage(msg.Data.Order)
@ -678,7 +678,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
mb := "*" + getLocalizedMessage("order")
if dataOrder.Number != "" {
mb += " " + dataOrder.Number
mb += " " + replaceMarkdownSymbols(dataOrder.Number)
}
if dataOrder.Date != "" {
@ -691,7 +691,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
mb += fmt.Sprintf(
"%d. %s",
k+1,
v.Name,
replaceMarkdownSymbols(v.Name),
)
if v.Quantity != nil {
@ -727,7 +727,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
mb += fmt.Sprintf(
"\n*%s:*\n%s",
getLocalizedMessage("delivery"),
dataOrder.Delivery.Name,
replaceMarkdownSymbols(dataOrder.Delivery.Name),
)
}
@ -747,7 +747,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
}
if dataOrder.Delivery.Address != "" {
mb += ";\n" + dataOrder.Delivery.Address
mb += ";\n" + replaceMarkdownSymbols(dataOrder.Delivery.Address)
}
mb += "\n"
@ -759,7 +759,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
getLocalizedMessage("payment"),
)
for _, v := range dataOrder.Payments {
mb += v.Name
mb += replaceMarkdownSymbols(v.Name)
if v.Amount != nil {
if val, ok := currency[strings.ToLower(v.Amount.Currency)]; ok && v.Amount.Value != 0 {
@ -779,7 +779,7 @@ func getOrderMessage(dataOrder *v1.MessageDataOrder) string {
if v.Status != nil && v.Status.Name != "" {
mb += fmt.Sprintf(
" (%s)",
v.Status.Name,
replaceMarkdownSymbols(v.Status.Name),
)
}

View File

@ -24,6 +24,7 @@ var (
"/api/integration-modules/{code}",
"/api/integration-modules/{code}/edit",
}
markdownSymbols = []string{"*", "_", "`", "["}
)
// GenerateToken function
@ -133,3 +134,11 @@ func getChannelSettingsHash() (hash string, err error) {
return
}
func replaceMarkdownSymbols(s string) string {
for _, v := range markdownSymbols {
s = strings.Replace(s, v, "\\"+v, -1)
}
return s
}

View File

@ -12,12 +12,12 @@
<input name="clientId" type="hidden" value="{{.Conn.ClientID}}">
<div class="row">
<div class="input-field col s12">
<input placeholder="CRM Url" id="api_url" name="api_url" type="text" class="validate" value="{{.Conn.APIURL}}">
<input placeholder="CRM Url" id="api_url" name="api_url" type="text" class="validate" value="{{.Conn.APIURL}}" maxlength="255">
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input placeholder="{{.Locale.ApiKey}}" id="api_key" name="api_key" type="text" class="validate" value="{{.Conn.APIKEY}}">
<input placeholder="{{.Locale.ApiKey}}" id="api_key" name="api_key" type="text" class="validate" value="{{.Conn.APIKEY}}" maxlength="100">
</div>
</div>
<div class="row">
@ -40,7 +40,7 @@
<input name="connectionId" type="hidden" value="{{.Conn.ID}}">
<div class="row">
<div class="input-field col s12">
<input placeholder="{{.Locale.TableToken}}" id="token" name="token" type="text" class="validate">
<input placeholder="{{.Locale.TableToken}}" id="token" name="token" type="text" class="validate" maxlength="100">
</div>
</div>
<div class="row">

View File

@ -4,13 +4,13 @@
<div id="msg"></div>
<div class="row">
<div class="input-field col s12">
<input placeholder="CRM Url" id="api_url" name="api_url" type="text" class="validate"
<input placeholder="CRM Url" id="api_url" name="api_url" type="text" class="validate" maxlength="255"
{{if .Conn.APIURL}} value="{{.Conn.APIURL}}" {{end}}>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input placeholder="{{.Locale.ApiKey}}" id="api_key" name="api_key" type="text" class="validate">
<input placeholder="{{.Locale.ApiKey}}" id="api_key" name="api_key" type="text" class="validate" maxlength="100">
</div>
</div>
<div class="row">