func()

in server/resource/v1/history_resource.go [38:70]


func (r *HistoryResource) GetRevisions(context *restful.Context) {
	var err error
	kvID := context.ReadPathParameter(common.PathParamKVID)
	offsetStr := context.ReadQueryParameter(common.QueryParamOffset)
	limitStr := context.ReadQueryParameter(common.QueryParamLimit)
	offset, limit, err := checkPagination(offsetStr, limitStr)
	if err != nil {
		WriteErrResponse(context, config.ErrInvalidParams, err.Error())
		return
	}
	if kvID == "" {
		openlog.Error("kv id is nil")
		WriteErrResponse(context, config.ErrRequiredRecordId, "kv_id must not be empty")
		return
	}
	revisions, err := datasource.GetBroker().GetHistoryDao().GetHistory(context.Ctx, kvID,
		context.ReadPathParameter(common.PathParameterProject),
		ReadDomain(context.Ctx),
		datasource.WithOffset(offset),
		datasource.WithLimit(limit))
	if err != nil {
		if err == datasource.ErrRevisionNotExist {
			WriteErrResponse(context, config.ErrRecordNotExists, err.Error())
			return
		}
		WriteError(context, err)
		return
	}
	err = writeResponse(context, revisions)
	if err != nil {
		openlog.Error(err.Error())
	}
}