package main

import (
	zord_tree "g.arns.lt/zordsdavini/zord-tree"
	"sort"
)

type FSummery struct {
	Name        string
	Category    []string
	Description string
	Id          string
	Lang        string
	Created     string
	Copyright   string
	Tags        []string
}

type TSummery struct {
	Files      []FSummery
	Tags       map[string]int
	Categories map[string]int
}

type FileContent struct {
	File    zord_tree.File
	Content string
}

func GetLastFiles(files []FSummery) []FSummery {
	sortingFiles := make(map[string]FSummery)
	for _, f := range files {
		sortingFiles[f.Created+f.Id] = f
	}

	keys := make([]string, 0, len(sortingFiles))
	for k := range sortingFiles {
		keys = append(keys, k)
	}
	sort.Strings(keys)
	sort.Reverse(sort.StringSlice(keys))

	length := 10
	if len(keys) < 10 {
		length = len(keys)
	}
	lastFiles := make([]FSummery, 0, length)
	for i, k := range keys {
		if i == length {
			break
		}

		lastFiles = append(lastFiles, sortingFiles[k])
	}

	return lastFiles
}