Porównaj commity

...

3 Commity

Autor SHA1 Wiadomość Data
Xeronith e1e30ffe93 feat(components): 🔒 add reserved usernames 2023-05-26 20:56:52 +03:30
Xeronith 051938cbf4 feat(components): enhance system dispatcher methods 2023-05-26 20:55:39 +03:30
Xeronith a204dd2600 feat(components): 🧑‍💻 improve core collections 2023-05-26 20:54:57 +03:30
37 zmienionych plików z 932 dodań i 0 usunięć

Wyświetl plik

@ -21,3 +21,609 @@ const (
CRON_EVERY_DAY_6PM = "0 0 18 * * ?"
CRON_EVERY_HOUR = "0 0 * * * ?"
)
var ReservedUsernames = []string{
"0",
"about",
"access",
"account",
"accounts",
"activate",
"activities",
"activity",
"ad",
"add",
"address",
"adm",
"admin",
"administration",
"administrator",
"ads",
"adult",
"advertising",
"affiliate",
"affiliates",
"ajax",
"all",
"alpha",
"analysis",
"analytics",
"android",
"anon",
"anonymous",
"api",
"app",
"apps",
"archive",
"archives",
"article",
"asct",
"asset",
"atom",
"auth",
"authentication",
"avatar",
"backup",
"balancer-manager",
"banner",
"banners",
"beta",
"billing",
"bin",
"blog",
"blogs",
"board",
"book",
"bookmark",
"bot",
"bots",
"bug",
"business",
"cache",
"cadastro",
"calendar",
"call",
"campaign",
"cancel",
"captcha",
"career",
"careers",
"cart",
"categories",
"category",
"cgi",
"cgi-bin",
"changelog",
"chat",
"check",
"checking",
"checkout",
"client",
"cliente",
"clients",
"code",
"codereview",
"comercial",
"comment",
"comments",
"communities",
"community",
"company",
"compare",
"compras",
"config",
"configuration",
"connect",
"contact",
"contact-us",
"contact_us",
"contactus",
"contest",
"contribute",
"corp",
"create",
"css",
"dashboard",
"data",
"db",
"default",
"delete",
"demo",
"design",
"designer",
"destroy",
"dev",
"devel",
"developer",
"developers",
"diagram",
"diary",
"dict",
"dictionary",
"die",
"dir",
"direct_messages",
"directory",
"dist",
"doc",
"docs",
"documentation",
"domain",
"download",
"downloads",
"ecommerce",
"edit",
"editor",
"edu",
"education",
"email",
"employment",
"empty",
"end",
"enterprise",
"entries",
"entry",
"error",
"errors",
"eval",
"event",
"everyone",
"exit",
"explore",
"facebook",
"faq",
"favorite",
"favorites",
"feature",
"features",
"feed",
"feedback",
"feeds",
"file",
"files",
"first",
"flash",
"fleet",
"fleets",
"flog",
"follow",
"followers",
"following",
"forgot",
"form",
"forum",
"forums",
"founder",
"free",
"friend",
"friends",
"ftp",
"gadget",
"gadgets",
"game",
"games",
"get",
"ghost",
"gift",
"gifts",
"gist",
"github",
"graph",
"group",
"groups",
"guest",
"guests",
"help",
"home",
"homepage",
"host",
"hosting",
"hostmaster",
"hostname",
"howto",
"hpg",
"html",
"http",
"httpd",
"https",
"i",
"iamges",
"icon",
"icons",
"id",
"idea",
"ideas",
"image",
"images",
"imap",
"img",
"index",
"indice",
"info",
"information",
"inquiry",
"instagram",
"intranet",
"invitations",
"invite",
"ipad",
"iphone",
"irc",
"is",
"issue",
"issues",
"it",
"item",
"items",
"java",
"javascript",
"job",
"jobs",
"join",
"js",
"json",
"jump",
"knowledgebase",
"language",
"languages",
"last",
"ldap-status",
"legal",
"license",
"link",
"links",
"linux",
"list",
"lists",
"log",
"log-in",
"log-out",
"log_in",
"log_out",
"login",
"logout",
"logs",
"m",
"mac",
"mail",
"mail1",
"mail2",
"mail3",
"mail4",
"mail5",
"mailer",
"mailing",
"maintenance",
"manager",
"manual",
"map",
"maps",
"marketing",
"master",
"me",
"media",
"member",
"members",
"message",
"messages",
"messenger",
"microblog",
"microblogs",
"mine",
"mis",
"mob",
"mobile",
"movie",
"movies",
"mp3",
"msg",
"msn",
"music",
"musicas",
"mx",
"my",
"mysql",
"name",
"named",
"nan",
"navi",
"navigation",
"net",
"network",
"new",
"news",
"newsletter",
"nick",
"nickname",
"notes",
"noticias",
"notification",
"notifications",
"notify",
"ns",
"ns1",
"ns10",
"ns2",
"ns3",
"ns4",
"ns5",
"ns6",
"ns7",
"ns8",
"ns9",
"null",
"oauth",
"oauth_clients",
"offer",
"offers",
"official",
"old",
"online",
"openid",
"operator",
"order",
"orders",
"organization",
"organizations",
"overview",
"owner",
"owners",
"page",
"pager",
"pages",
"panel",
"password",
"payment",
"perl",
"phone",
"photo",
"photoalbum",
"photos",
"php",
"phpmyadmin",
"phppgadmin",
"phpredisadmin",
"pic",
"pics",
"ping",
"plan",
"plans",
"plugin",
"plugins",
"policy",
"pop",
"pop3",
"popular",
"portal",
"post",
"postfix",
"postmaster",
"posts",
"pr",
"premium",
"press",
"price",
"pricing",
"privacy",
"privacy-policy",
"privacy_policy",
"privacypolicy",
"private",
"product",
"products",
"profile",
"project",
"projects",
"promo",
"pub",
"public",
"purpose",
"put",
"python",
"query",
"random",
"ranking",
"read",
"readme",
"recent",
"recruit",
"recruitment",
"register",
"registration",
"release",
"remove",
"replies",
"report",
"reports",
"repositories",
"repository",
"req",
"request",
"requests",
"reset",
"roc",
"root",
"rss",
"ruby",
"rule",
"sag",
"sale",
"sales",
"sample",
"samples",
"save",
"school",
"script",
"scripts",
"search",
"secure",
"security",
"self",
"send",
"server",
"server-info",
"server-status",
"service",
"services",
"session",
"sessions",
"setting",
"settings",
"setup",
"share",
"shop",
"show",
"sign-in",
"sign-up",
"sign_in",
"sign_up",
"signin",
"signout",
"signup",
"site",
"sitemap",
"sites",
"smartphone",
"smtp",
"soporte",
"source",
"spec",
"special",
"sql",
"src",
"ssh",
"ssl",
"ssladmin",
"ssladministrator",
"sslwebmaster",
"staff",
"stage",
"staging",
"start",
"stat",
"state",
"static",
"stats",
"status",
"store",
"stores",
"stories",
"style",
"styleguide",
"stylesheet",
"stylesheets",
"subdomain",
"subscribe",
"subscriptions",
"suporte",
"support",
"svn",
"swf",
"sys",
"sysadmin",
"sysadministrator",
"system",
"tablet",
"tablets",
"tag",
"talk",
"task",
"tasks",
"team",
"teams",
"tech",
"telnet",
"term",
"terms",
"terms-of-service",
"terms_of_service",
"termsofservice",
"test",
"test1",
"test2",
"test3",
"teste",
"testing",
"tests",
"theme",
"themes",
"thread",
"threads",
"tmp",
"todo",
"tool",
"tools",
"top",
"topic",
"topics",
"tos",
"tour",
"translations",
"trends",
"tutorial",
"tux",
"tv",
"twitter",
"undef",
"unfollow",
"unsubscribe",
"update",
"upload",
"uploads",
"url",
"usage",
"user",
"username",
"users",
"usuario",
"vendas",
"ver",
"version",
"video",
"videos",
"visitor",
"watch",
"weather",
"web",
"webhook",
"webhooks",
"webmail",
"webmaster",
"website",
"websites",
"welcome",
"widget",
"widgets",
"wiki",
"win",
"windows",
"word",
"work",
"works",
"workshop",
"ww",
"wws",
"www",
"www1",
"www2",
"www3",
"www4",
"www5",
"www6",
"www7",
"wwws",
"wwww",
"xfn",
"xml",
"xmpp",
"xpg",
"xxx",
"yaml",
"year",
"yml",
"you",
"yourdomain",
"yourname",
"yoursite",
"yourusername",
}

Wyświetl plik

@ -41,6 +41,7 @@ type (
First() IAccessControl
Append(accessControl IAccessControl)
ForEach(AccessControlIterator)
Reverse() IAccessControlCollection
Array() AccessControls
}

Wyświetl plik

@ -74,6 +74,7 @@ type (
First() IActivityPubActivity
Append(activityPubActivity IActivityPubActivity)
ForEach(ActivityPubActivityIterator)
Reverse() IActivityPubActivityCollection
Array() ActivityPubActivities
}

Wyświetl plik

@ -65,6 +65,7 @@ type (
First() IActivityPubFollower
Append(activityPubFollower IActivityPubFollower)
ForEach(ActivityPubFollowerIterator)
Reverse() IActivityPubFollowerCollection
Array() ActivityPubFollowers
}

Wyświetl plik

@ -85,6 +85,7 @@ type (
First() IActivityPubIncomingActivity
Append(activityPubIncomingActivity IActivityPubIncomingActivity)
ForEach(ActivityPubIncomingActivityIterator)
Reverse() IActivityPubIncomingActivityCollection
Array() ActivityPubIncomingActivities
}

Wyświetl plik

@ -44,6 +44,7 @@ type (
First() IActivityPubLink
Append(activityPubLink IActivityPubLink)
ForEach(ActivityPubLinkIterator)
Reverse() IActivityPubLinkCollection
Array() ActivityPubLinks
}

Wyświetl plik

@ -49,6 +49,7 @@ type (
First() IActivityPubMedia
Append(activityPubMedia IActivityPubMedia)
ForEach(ActivityPubMediaIterator)
Reverse() IActivityPubMediaCollection
Array() ActivityPubMedias
}

Wyświetl plik

@ -69,6 +69,7 @@ type (
First() IActivityPubObject
Append(activityPubObject IActivityPubObject)
ForEach(ActivityPubObjectIterator)
Reverse() IActivityPubObjectCollection
Array() ActivityPubObjects
}

Wyświetl plik

@ -85,6 +85,7 @@ type (
First() IActivityPubOutgoingActivity
Append(activityPubOutgoingActivity IActivityPubOutgoingActivity)
ForEach(ActivityPubOutgoingActivityIterator)
Reverse() IActivityPubOutgoingActivityCollection
Array() ActivityPubOutgoingActivities
}

Wyświetl plik

@ -39,6 +39,7 @@ type (
First() IActivityPubPublicKey
Append(activityPubPublicKey IActivityPubPublicKey)
ForEach(ActivityPubPublicKeyIterator)
Reverse() IActivityPubPublicKeyCollection
Array() ActivityPubPublicKeys
}

Wyświetl plik

@ -63,6 +63,7 @@ type (
First() ICategory
Append(category ICategory)
ForEach(CategoryIterator)
Reverse() ICategoryCollection
Array() Categories
}

Wyświetl plik

@ -33,6 +33,7 @@ type (
First() ICategoryType
Append(categoryType ICategoryType)
ForEach(CategoryTypeIterator)
Reverse() ICategoryTypeCollection
Array() CategoryTypes
}

Wyświetl plik

@ -33,6 +33,7 @@ type (
First() IDocument
Append(document IDocument)
ForEach(DocumentIterator)
Reverse() IDocumentCollection
Array() Documents
}

Wyświetl plik

@ -214,6 +214,7 @@ type (
First() IIdentity
Append(identity IIdentity)
ForEach(IdentityIterator)
Reverse() IIdentityCollection
Array() Identities
}

Wyświetl plik

@ -89,6 +89,7 @@ type (
First() IRemoteActivity
Append(remoteActivity IRemoteActivity)
ForEach(RemoteActivityIterator)
Reverse() IRemoteActivityCollection
Array() RemoteActivities
}

Wyświetl plik

@ -24,6 +24,7 @@ type (
First() ISpi
Append(spi ISpi)
ForEach(SpiIterator)
Reverse() ISpiCollection
Array() Spis
}

Wyświetl plik

@ -1204,6 +1204,12 @@ type IDispatcher interface {
Trim(input string) string
// Contains reports whether substr is within s.
Contains(input, substr string) bool
// ToUpper returns input with all Unicode letters mapped to their upper case.
ToUpper(input string) string
// MatchString reports whether the string input
// contains any match of the regular expression pattern.
// More complicated queries need to use Compile and the full Regexp interface.
MatchString(pattern string, input string) bool
// IsEmpty checks whether the provided string is empty. Trims the spaces in the string first.
IsEmpty(input string) bool
// IsNotEmpty checks whether the provided string is not empty. Trims the spaces in the string first.

Wyświetl plik

@ -41,6 +41,7 @@ type (
First() ISystemSchedule
Append(systemSchedule ISystemSchedule)
ForEach(SystemScheduleIterator)
Reverse() ISystemScheduleCollection
Array() SystemSchedules
}

Wyświetl plik

@ -33,6 +33,7 @@ type (
First() IUser
Append(user IUser)
ForEach(UserIterator)
Reverse() IUserCollection
Array() Users
}

Wyświetl plik

@ -150,6 +150,23 @@ func (accessControls *accessControls) Append(accessControl IAccessControl) {
accessControls.collection = append(accessControls.collection, accessControl)
}
func (accessControls *accessControls) Reverse() IAccessControlCollection {
slice := accessControls.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
accessControls.collection = slice
return accessControls
}
func (accessControls *accessControls) ForEach(iterator AccessControlIterator) {
if iterator == nil {
return

Wyświetl plik

@ -170,6 +170,23 @@ func (activityPubActivities *activityPubActivities) Append(activityPubActivity I
activityPubActivities.collection = append(activityPubActivities.collection, activityPubActivity)
}
func (activityPubActivities *activityPubActivities) Reverse() IActivityPubActivityCollection {
slice := activityPubActivities.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubActivities.collection = slice
return activityPubActivities
}
func (activityPubActivities *activityPubActivities) ForEach(iterator ActivityPubActivityIterator) {
if iterator == nil {
return

Wyświetl plik

@ -225,6 +225,23 @@ func (activityPubFollowers *activityPubFollowers) Append(activityPubFollower IAc
activityPubFollowers.collection = append(activityPubFollowers.collection, activityPubFollower)
}
func (activityPubFollowers *activityPubFollowers) Reverse() IActivityPubFollowerCollection {
slice := activityPubFollowers.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubFollowers.collection = slice
return activityPubFollowers
}
func (activityPubFollowers *activityPubFollowers) ForEach(iterator ActivityPubFollowerIterator) {
if iterator == nil {
return

Wyświetl plik

@ -284,6 +284,23 @@ func (activityPubIncomingActivities *activityPubIncomingActivities) Append(activ
activityPubIncomingActivities.collection = append(activityPubIncomingActivities.collection, activityPubIncomingActivity)
}
func (activityPubIncomingActivities *activityPubIncomingActivities) Reverse() IActivityPubIncomingActivityCollection {
slice := activityPubIncomingActivities.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubIncomingActivities.collection = slice
return activityPubIncomingActivities
}
func (activityPubIncomingActivities *activityPubIncomingActivities) ForEach(iterator ActivityPubIncomingActivityIterator) {
if iterator == nil {
return

Wyświetl plik

@ -116,6 +116,23 @@ func (activityPubLinks *activityPubLinks) Append(activityPubLink IActivityPubLin
activityPubLinks.collection = append(activityPubLinks.collection, activityPubLink)
}
func (activityPubLinks *activityPubLinks) Reverse() IActivityPubLinkCollection {
slice := activityPubLinks.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubLinks.collection = slice
return activityPubLinks
}
func (activityPubLinks *activityPubLinks) ForEach(iterator ActivityPubLinkIterator) {
if iterator == nil {
return

Wyświetl plik

@ -125,6 +125,23 @@ func (activityPubMedias *activityPubMedias) Append(activityPubMedia IActivityPub
activityPubMedias.collection = append(activityPubMedias.collection, activityPubMedia)
}
func (activityPubMedias *activityPubMedias) Reverse() IActivityPubMediaCollection {
slice := activityPubMedias.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubMedias.collection = slice
return activityPubMedias
}
func (activityPubMedias *activityPubMedias) ForEach(iterator ActivityPubMediaIterator) {
if iterator == nil {
return

Wyświetl plik

@ -161,6 +161,23 @@ func (activityPubObjects *activityPubObjects) Append(activityPubObject IActivity
activityPubObjects.collection = append(activityPubObjects.collection, activityPubObject)
}
func (activityPubObjects *activityPubObjects) Reverse() IActivityPubObjectCollection {
slice := activityPubObjects.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubObjects.collection = slice
return activityPubObjects
}
func (activityPubObjects *activityPubObjects) ForEach(iterator ActivityPubObjectIterator) {
if iterator == nil {
return

Wyświetl plik

@ -284,6 +284,23 @@ func (activityPubOutgoingActivities *activityPubOutgoingActivities) Append(activ
activityPubOutgoingActivities.collection = append(activityPubOutgoingActivities.collection, activityPubOutgoingActivity)
}
func (activityPubOutgoingActivities *activityPubOutgoingActivities) Reverse() IActivityPubOutgoingActivityCollection {
slice := activityPubOutgoingActivities.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubOutgoingActivities.collection = slice
return activityPubOutgoingActivities
}
func (activityPubOutgoingActivities *activityPubOutgoingActivities) ForEach(iterator ActivityPubOutgoingActivityIterator) {
if iterator == nil {
return

Wyświetl plik

@ -107,6 +107,23 @@ func (activityPubPublicKeys *activityPubPublicKeys) Append(activityPubPublicKey
activityPubPublicKeys.collection = append(activityPubPublicKeys.collection, activityPubPublicKey)
}
func (activityPubPublicKeys *activityPubPublicKeys) Reverse() IActivityPubPublicKeyCollection {
slice := activityPubPublicKeys.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
activityPubPublicKeys.collection = slice
return activityPubPublicKeys
}
func (activityPubPublicKeys *activityPubPublicKeys) ForEach(iterator ActivityPubPublicKeyIterator) {
if iterator == nil {
return

Wyświetl plik

@ -213,6 +213,23 @@ func (categories *categories) Append(category ICategory) {
categories.collection = append(categories.collection, category)
}
func (categories *categories) Reverse() ICategoryCollection {
slice := categories.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
categories.collection = slice
return categories
}
func (categories *categories) ForEach(iterator CategoryIterator) {
if iterator == nil {
return

Wyświetl plik

@ -125,6 +125,23 @@ func (categoryTypes *categoryTypes) Append(categoryType ICategoryType) {
categoryTypes.collection = append(categoryTypes.collection, categoryType)
}
func (categoryTypes *categoryTypes) Reverse() ICategoryTypeCollection {
slice := categoryTypes.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
categoryTypes.collection = slice
return categoryTypes
}
func (categoryTypes *categoryTypes) ForEach(iterator CategoryTypeIterator) {
if iterator == nil {
return

Wyświetl plik

@ -125,6 +125,23 @@ func (documents *documents) Append(document IDocument) {
documents.collection = append(documents.collection, document)
}
func (documents *documents) Reverse() IDocumentCollection {
slice := documents.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
documents.collection = slice
return documents
}
func (documents *documents) ForEach(iterator DocumentIterator) {
if iterator == nil {
return

Wyświetl plik

@ -704,6 +704,23 @@ func (identities *identities) Append(identity IIdentity) {
identities.collection = append(identities.collection, identity)
}
func (identities *identities) Reverse() IIdentityCollection {
slice := identities.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
identities.collection = slice
return identities
}
func (identities *identities) ForEach(iterator IdentityIterator) {
if iterator == nil {
return

Wyświetl plik

@ -300,6 +300,23 @@ func (remoteActivities *remoteActivities) Append(remoteActivity IRemoteActivity)
remoteActivities.collection = append(remoteActivities.collection, remoteActivity)
}
func (remoteActivities *remoteActivities) Reverse() IRemoteActivityCollection {
slice := remoteActivities.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
remoteActivities.collection = slice
return remoteActivities
}
func (remoteActivities *remoteActivities) ForEach(iterator RemoteActivityIterator) {
if iterator == nil {
return

Wyświetl plik

@ -80,6 +80,23 @@ func (spis *spis) Append(spi ISpi) {
spis.collection = append(spis.collection, spi)
}
func (spis *spis) Reverse() ISpiCollection {
slice := spis.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
spis.collection = slice
return spis
}
func (spis *spis) ForEach(iterator SpiIterator) {
if iterator == nil {
return

Wyświetl plik

@ -5,6 +5,7 @@ import (
"fmt"
"math/rand"
"net/http"
"regexp"
"sort"
"strings"
"time"
@ -288,6 +289,19 @@ func (dispatcher *dispatcher) Contains(input, substr string) bool {
return strings.Contains(input, substr)
}
func (dispatcher *dispatcher) ToUpper(input string) string {
return strings.ToUpper(input)
}
func (dispatcher *dispatcher) MatchString(pattern string, input string) bool {
matched, err := regexp.MatchString(pattern, input)
if err != nil {
panic(err.Error())
}
return matched
}
func (dispatcher *dispatcher) IsEmpty(input string) bool {
return strings.TrimSpace(input) == ""
}

Wyświetl plik

@ -150,6 +150,23 @@ func (systemSchedules *systemSchedules) Append(systemSchedule ISystemSchedule) {
systemSchedules.collection = append(systemSchedules.collection, systemSchedule)
}
func (systemSchedules *systemSchedules) Reverse() ISystemScheduleCollection {
slice := systemSchedules.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
systemSchedules.collection = slice
return systemSchedules
}
func (systemSchedules *systemSchedules) ForEach(iterator SystemScheduleIterator) {
if iterator == nil {
return

Wyświetl plik

@ -125,6 +125,23 @@ func (users *users) Append(user IUser) {
users.collection = append(users.collection, user)
}
func (users *users) Reverse() IUserCollection {
slice := users.collection
start := 0
end := len(slice) - 1
for start < end {
slice[start], slice[end] = slice[end], slice[start]
start++
end--
}
users.collection = slice
return users
}
func (users *users) ForEach(iterator UserIterator) {
if iterator == nil {
return