1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-02 20:15:26 +02:00

WIP vendored dep upgrades

This commit is contained in:
Harvey Kandola 2018-01-19 11:36:38 +00:00
parent 5f59e95495
commit 6409ad0d63
190 changed files with 64265 additions and 109666 deletions

View file

@ -32,8 +32,8 @@ func (s Scope) RecordUserActivity(ctx domain.RequestContext, activity activity.U
activity.UserID = ctx.UserID
activity.Created = time.Now().UTC()
_, err = ctx.Transaction.Exec("INSERT INTO useractivity (orgid, userid, labelid, sourceid, sourcetype, activitytype, created) VALUES (?, ?, ?, ?, ?, ?, ?)",
activity.OrgID, activity.UserID, activity.LabelID, activity.SourceID, activity.SourceType, activity.ActivityType, activity.Created)
_, err = ctx.Transaction.Exec("INSERT INTO useractivity (orgid, userid, labelid, documentid, pageid, sourcetype, activitytype, created) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
activity.OrgID, activity.UserID, activity.LabelID, activity.DocumentID, activity.PageID, activity.SourceType, activity.ActivityType, activity.Created)
if err != nil {
err = errors.Wrap(err, "execute record user activity")
@ -44,24 +44,28 @@ func (s Scope) RecordUserActivity(ctx domain.RequestContext, activity activity.U
// GetDocumentActivity returns the metadata for a specified document.
func (s Scope) GetDocumentActivity(ctx domain.RequestContext, id string) (a []activity.DocumentActivity, err error) {
qry := `SELECT a.id, a.created, a.orgid, IFNULL(a.userid, '') AS userid, a.labelid, a.sourceid as documentid, a.activitytype,
IFNULL(u.firstname, 'Anonymous') AS firstname, IFNULL(u.lastname, 'Viewer') AS lastname
qry := `SELECT a.id, DATE(a.created) as created, a.orgid, IFNULL(a.userid, '') AS userid, a.labelid, a.documentid, a.pageid, a.activitytype,
IFNULL(u.firstname, 'Anonymous') AS firstname, IFNULL(u.lastname, 'Viewer') AS lastname,
IFNULL(p.title, '') as pagetitle
FROM useractivity a
LEFT JOIN user u ON a.userid=u.refid
WHERE a.orgid=? AND a.sourceid=? AND a.sourcetype=2
LEFT JOIN page p ON a.pageid=p.refid
WHERE a.orgid=? AND a.documentid=?
AND a.userid != '0' AND a.userid != ''
ORDER BY a.created DESC`
err = s.Runtime.Db.Select(&a, qry, ctx.OrgID, id)
if err == sql.ErrNoRows {
err = nil
}
if err != nil {
err = errors.Wrap(err, "select document user activity")
}
if len(a) == 0 {
a = []activity.DocumentActivity{}
}
if err != nil && err != sql.ErrNoRows {
err = errors.Wrap(err, "select document user activity")
return
}
return
}

View file

@ -222,7 +222,7 @@ func processDocument(ctx domain.RequestContext, r *env.Runtime, store *domain.St
store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: newDocument.LabelID,
SourceID: newDocument.RefID,
DocumentID: newDocument.RefID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeCreated})

View file

@ -78,7 +78,7 @@ func (h *Handler) Get(w http.ResponseWriter, r *http.Request) {
err = h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: document.LabelID,
SourceID: document.RefID,
DocumentID: document.RefID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeRead})
@ -93,27 +93,6 @@ func (h *Handler) Get(w http.ResponseWriter, r *http.Request) {
response.WriteJSON(w, document)
}
// Activity is an endpoint returning the activity logs for specified document.
func (h *Handler) Activity(w http.ResponseWriter, r *http.Request) {
method := "document.activity"
ctx := domain.GetRequestContext(r)
id := request.Param(r, "documentID")
if len(id) == 0 {
response.WriteMissingDataError(w, method, "documentID")
return
}
a, err := h.Store.Activity.GetDocumentActivity(ctx, id)
if err != nil && err != sql.ErrNoRows {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
response.WriteJSON(w, a)
}
// DocumentLinks is an endpoint returning the links for a document.
func (h *Handler) DocumentLinks(w http.ResponseWriter, r *http.Request) {
method := "document.links"
@ -322,7 +301,7 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: documentID,
DocumentID: documentID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeDeleted})
@ -464,7 +443,7 @@ func (h *Handler) FetchDocumentData(w http.ResponseWriter, r *http.Request) {
err = h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: document.LabelID,
SourceID: document.RefID,
DocumentID: document.RefID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeRead})

View file

@ -163,8 +163,9 @@ func (h *Handler) Add(w http.ResponseWriter, r *http.Request) {
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: model.Page.DocumentID,
SourceType: activity.SourceTypeDocument,
DocumentID: model.Page.DocumentID,
PageID: model.Page.RefID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeCreated})
h.Store.Audit.Record(ctx, audit.EventTypeSectionAdd)
@ -419,8 +420,9 @@ func (h *Handler) Update(w http.ResponseWriter, r *http.Request) {
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: model.Page.DocumentID,
SourceType: activity.SourceTypeDocument,
DocumentID: model.Page.DocumentID,
PageID: model.Page.RefID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeEdited})
h.Store.Audit.Record(ctx, audit.EventTypeSectionUpdate)
@ -541,12 +543,11 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: documentID,
SourceType: activity.SourceTypeDocument,
DocumentID: documentID,
PageID: pageID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeDeleted})
h.Store.Audit.Record(ctx, audit.EventTypeSectionDelete)
go h.Indexer.DeleteContent(ctx, pageID)
h.Store.Link.DeleteSourcePageLinks(ctx, pageID)
@ -557,35 +558,10 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request) {
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeSectionDelete)
// Re-level all pages in document
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
p2, err := h.Store.Page.GetPages(ctx, documentID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
page.Levelize(p2)
for _, i := range p2 {
err = h.Store.Page.UpdateLevel(ctx, documentID, i.RefID, int(i.Level))
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
}
ctx.Transaction.Commit()
h.LevelizeDocument(ctx, documentID)
response.WriteEmpty(w)
}
@ -674,47 +650,21 @@ func (h *Handler) DeletePages(w http.ResponseWriter, r *http.Request) {
h.Store.Link.MarkOrphanPageLink(ctx, page.PageID)
h.Store.Page.DeletePageRevisions(ctx, page.PageID)
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
DocumentID: documentID,
PageID: page.PageID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeDeleted})
}
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: documentID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeDeleted})
ctx.Transaction.Commit()
h.Store.Audit.Record(ctx, audit.EventTypeSectionDelete)
ctx.Transaction.Commit()
// Re-level all pages in document
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
p2, err := h.Store.Page.GetPages(ctx, documentID)
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
page.Levelize(p2)
for _, i := range p2 {
err = h.Store.Page.UpdateLevel(ctx, documentID, i.RefID, int(i.Level))
if err != nil {
ctx.Transaction.Rollback()
response.WriteServerError(w, method, err)
h.Runtime.Log.Error(method, err)
return
}
}
ctx.Transaction.Commit()
h.LevelizeDocument(ctx, documentID)
response.WriteEmpty(w)
}
@ -952,9 +902,10 @@ func (h *Handler) Copy(w http.ResponseWriter, r *http.Request) {
// Log action against target document
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: targetID,
SourceType: activity.SourceTypeDocument,
ActivityType: activity.TypeEdited})
DocumentID: targetID,
PageID: newPageID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeCreated})
h.Store.Audit.Record(ctx, audit.EventTypeSectionCopy)
@ -1095,6 +1046,7 @@ func (h *Handler) GetDiff(w http.ResponseWriter, r *http.Request) {
}
res, err := cfg.HTMLdiff([]string{latestHTML, previousHTML})
// res, err := cfg.HTMLdiff([]string{previousHTML, latestHTML})
if err != nil {
response.WriteServerError(w, method, err)
return
@ -1193,8 +1145,9 @@ func (h *Handler) Rollback(w http.ResponseWriter, r *http.Request) {
h.Store.Activity.RecordUserActivity(ctx, activity.UserActivity{
LabelID: doc.LabelID,
SourceID: p.DocumentID,
SourceType: activity.SourceTypeDocument,
DocumentID: p.DocumentID,
PageID: p.RefID,
SourceType: activity.SourceTypePage,
ActivityType: activity.TypeReverted})
h.Store.Audit.Record(ctx, audit.EventTypeSectionRollback)

View file

@ -249,6 +249,18 @@ func (s Scope) UpdateLevel(ctx domain.RequestContext, documentID, pageID string,
return
}
// UpdateLevelSequence changes page level and sequence numbers.
func (s Scope) UpdateLevelSequence(ctx domain.RequestContext, documentID, pageID string, level int, sequence float64) (err error) {
_, err = ctx.Transaction.Exec("UPDATE page SET level=?, sequence=? WHERE orgid=? AND refid=?",
level, sequence, ctx.OrgID, pageID)
if err != nil {
err = errors.Wrap(err, "execute page level/sequence update")
}
return
}
// GetNextPageSequence returns the next sequence numbner to use for a page in given document.
func (s Scope) GetNextPageSequence(ctx domain.RequestContext, documentID string) (maxSeq float64, err error) {
row := s.Runtime.Db.QueryRow("SELECT max(sequence) FROM page WHERE orgid=? AND documentid=?", ctx.OrgID, documentID)

52
domain/page/page.go Normal file
View file

@ -0,0 +1,52 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
package page
import (
"github.com/documize/community/domain"
"github.com/documize/community/model/page"
)
// LevelizeDocument generates level and sequence numbers for all document sections
func (h *Handler) LevelizeDocument(ctx domain.RequestContext, documentID string) {
method := "page.Levelize"
var err error
ctx.Transaction.Commit()
// Re-level all pages in document
ctx.Transaction, err = h.Runtime.Db.Beginx()
if err != nil {
h.Runtime.Log.Error(method, err)
return
}
p2, err := h.Store.Page.GetPages(ctx, documentID)
if err != nil {
ctx.Transaction.Rollback()
h.Runtime.Log.Error(method, err)
return
}
page.Levelize(p2)
page.Sequenize(p2)
for _, i := range p2 {
err = h.Store.Page.UpdateLevelSequence(ctx, documentID, i.RefID, int(i.Level), i.Sequence)
if err != nil {
ctx.Transaction.Rollback()
h.Runtime.Log.Error(method, err)
return
}
}
ctx.Transaction.Commit()
}

View file

@ -257,6 +257,7 @@ type PageStorer interface {
UpdateMeta(ctx RequestContext, meta page.Meta, updateUserID bool) (err error)
UpdateSequence(ctx RequestContext, documentID, pageID string, sequence float64) (err error)
UpdateLevel(ctx RequestContext, documentID, pageID string, level int) (err error)
UpdateLevelSequence(ctx RequestContext, documentID, pageID string, level int, sequence float64) (err error)
GetNextPageSequence(ctx RequestContext, documentID string) (maxSeq float64, err error)
GetPageRevision(ctx RequestContext, revisionID string) (revision page.Revision, err error)
GetPageRevisions(ctx RequestContext, pageID string) (revisions []page.Revision, err error)