kopia lustrzana https://github.com/reiver/greatape
Porównaj commity
3 Commity
98f1188e2f
...
e1e30ffe93
Autor | SHA1 | Data |
---|---|---|
Xeronith | e1e30ffe93 | |
Xeronith | 051938cbf4 | |
Xeronith | a204dd2600 |
|
@ -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",
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ type (
|
|||
First() IAccessControl
|
||||
Append(accessControl IAccessControl)
|
||||
ForEach(AccessControlIterator)
|
||||
Reverse() IAccessControlCollection
|
||||
Array() AccessControls
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,7 @@ type (
|
|||
First() IActivityPubActivity
|
||||
Append(activityPubActivity IActivityPubActivity)
|
||||
ForEach(ActivityPubActivityIterator)
|
||||
Reverse() IActivityPubActivityCollection
|
||||
Array() ActivityPubActivities
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ type (
|
|||
First() IActivityPubFollower
|
||||
Append(activityPubFollower IActivityPubFollower)
|
||||
ForEach(ActivityPubFollowerIterator)
|
||||
Reverse() IActivityPubFollowerCollection
|
||||
Array() ActivityPubFollowers
|
||||
}
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ type (
|
|||
First() IActivityPubIncomingActivity
|
||||
Append(activityPubIncomingActivity IActivityPubIncomingActivity)
|
||||
ForEach(ActivityPubIncomingActivityIterator)
|
||||
Reverse() IActivityPubIncomingActivityCollection
|
||||
Array() ActivityPubIncomingActivities
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ type (
|
|||
First() IActivityPubLink
|
||||
Append(activityPubLink IActivityPubLink)
|
||||
ForEach(ActivityPubLinkIterator)
|
||||
Reverse() IActivityPubLinkCollection
|
||||
Array() ActivityPubLinks
|
||||
}
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ type (
|
|||
First() IActivityPubMedia
|
||||
Append(activityPubMedia IActivityPubMedia)
|
||||
ForEach(ActivityPubMediaIterator)
|
||||
Reverse() IActivityPubMediaCollection
|
||||
Array() ActivityPubMedias
|
||||
}
|
||||
|
||||
|
|
|
@ -69,6 +69,7 @@ type (
|
|||
First() IActivityPubObject
|
||||
Append(activityPubObject IActivityPubObject)
|
||||
ForEach(ActivityPubObjectIterator)
|
||||
Reverse() IActivityPubObjectCollection
|
||||
Array() ActivityPubObjects
|
||||
}
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ type (
|
|||
First() IActivityPubOutgoingActivity
|
||||
Append(activityPubOutgoingActivity IActivityPubOutgoingActivity)
|
||||
ForEach(ActivityPubOutgoingActivityIterator)
|
||||
Reverse() IActivityPubOutgoingActivityCollection
|
||||
Array() ActivityPubOutgoingActivities
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ type (
|
|||
First() IActivityPubPublicKey
|
||||
Append(activityPubPublicKey IActivityPubPublicKey)
|
||||
ForEach(ActivityPubPublicKeyIterator)
|
||||
Reverse() IActivityPubPublicKeyCollection
|
||||
Array() ActivityPubPublicKeys
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ type (
|
|||
First() ICategory
|
||||
Append(category ICategory)
|
||||
ForEach(CategoryIterator)
|
||||
Reverse() ICategoryCollection
|
||||
Array() Categories
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ type (
|
|||
First() ICategoryType
|
||||
Append(categoryType ICategoryType)
|
||||
ForEach(CategoryTypeIterator)
|
||||
Reverse() ICategoryTypeCollection
|
||||
Array() CategoryTypes
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ type (
|
|||
First() IDocument
|
||||
Append(document IDocument)
|
||||
ForEach(DocumentIterator)
|
||||
Reverse() IDocumentCollection
|
||||
Array() Documents
|
||||
}
|
||||
|
||||
|
|
|
@ -214,6 +214,7 @@ type (
|
|||
First() IIdentity
|
||||
Append(identity IIdentity)
|
||||
ForEach(IdentityIterator)
|
||||
Reverse() IIdentityCollection
|
||||
Array() Identities
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ type (
|
|||
First() IRemoteActivity
|
||||
Append(remoteActivity IRemoteActivity)
|
||||
ForEach(RemoteActivityIterator)
|
||||
Reverse() IRemoteActivityCollection
|
||||
Array() RemoteActivities
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ type (
|
|||
First() ISpi
|
||||
Append(spi ISpi)
|
||||
ForEach(SpiIterator)
|
||||
Reverse() ISpiCollection
|
||||
Array() Spis
|
||||
}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -41,6 +41,7 @@ type (
|
|||
First() ISystemSchedule
|
||||
Append(systemSchedule ISystemSchedule)
|
||||
ForEach(SystemScheduleIterator)
|
||||
Reverse() ISystemScheduleCollection
|
||||
Array() SystemSchedules
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ type (
|
|||
First() IUser
|
||||
Append(user IUser)
|
||||
ForEach(UserIterator)
|
||||
Reverse() IUserCollection
|
||||
Array() Users
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) == ""
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Ładowanie…
Reference in New Issue