2016-04-03 17:59:27 +00:00
package v1
import (
"math/rand"
"time"
"github.com/osuripple/api/common"
)
var rn = rand . New ( rand . NewSource ( time . Now ( ) . UnixNano ( ) ) )
var kaomojis = [ ... ] string {
"Σ(ノ°▽°)ノ " ,
"( ƅ°ਉ°)ƅ" ,
"ヽ( ・∀・)ノ" ,
"˭̡̞(◞⁎˃ᆺ˂)◞*✰" ,
"(p^-^)p" ,
"(ノ^∇^)ノ゚" ,
"ヽ(〃・ω・)ノ" ,
"(۶* ‘ꆚ’)۶”" ,
"(。>ω<)。" ,
"(ノ。≧◇≦)ノ" ,
"ヾ(。・ω・)シ" ,
"(ノ・д・)ノ" ,
".+:。(ノ・ω・)ノ゙" ,
"Σ(*ノ´>ω<。`)ノ" ,
"ヾ(〃^∇^)ノ♪" ,
"\(@ ̄∇ ̄@)/" ,
"\ (^▽^@ )ノ " ,
"ヾ(@^▽^@)ノ " ,
"(((\ ( @ v@ ) / )))" ,
"\ (*T▽T*)/ " ,
"\(^▽^)/" ,
"\(T∇T)/" ,
"ヽ( ★ω★)ノ " ,
"ヽ(;▽;)ノ " ,
"ヾ(。◕ฺ∀◕ฺ)ノ " ,
"ヾ(@† ▽ †@)ノ" ,
"ヾ(@ ^∇^@ )ノ " ,
"ヾ(@ ^▽^@ )ノ" ,
"ヾ(@^▽^@)ノ" ,
"ヾ(@゜▽゜@)ノ" ,
"(.=^・ェ・^=)" ,
"((≡^⚲͜^≡))" ,
"(^・o・^)ノ”" ,
"(^._.^)ノ" ,
"(^人^)" ,
"(=;ェ;=)" ,
"(=`ω´=)" ,
"(=`ェ´=)" ,
"( =´∇`=) " ,
"(=^・^=)" ,
"(=^・ェ・^=)" ,
"(=^‥^=)" ,
"(=TェT=)" ,
"(=xェx=)" ,
"\ (=^‥^)/’ `" ,
"~(=^‥^)/" ,
"└(=^‥^=)┐" ,
"ヾ(=゚・゚=)ノ" ,
"ヽ(=^・ω・^=)丿 " ,
"d(=^・ω・^=)b" ,
"o(^・x・^)o" ,
"V(=^・ω・^=)v" ,
"(⁎˃ᆺ˂)" ,
"(,,^・⋏・^,,)" ,
}
var randomSentences = [ ... ] string {
"Proudly sponsored by Kirotuso!" ,
"The brace is on fire!" ,
"deverupa ga daisuki!" ,
"It works!!!!" ,
"Feelin' groovy!" ,
"sudo rm -rf /" ,
"Hi! I'm Flowey! Flowey the flower!" ,
"Ripple devs are actually cats" ,
2016-04-16 16:05:24 +00:00
"Support Howl's fund for buying a power supply for his SSD!" ,
"Superman dies" ,
"PP when?" ,
"RWC hype" ,
2016-04-03 17:59:27 +00:00
}
func surpriseMe ( ) string {
return randomSentences [ rn . Intn ( len ( randomSentences ) ) ] + " " + kaomojis [ rn . Intn ( len ( kaomojis ) ) ]
}
2016-04-16 16:05:24 +00:00
type pingResponse struct {
common . ResponseBase
2016-04-03 17:59:27 +00:00
ID int ` json:"user_id" `
Privileges int ` json:"privileges" `
}
2016-04-04 12:36:37 +00:00
// PingGET is a message to check with the API that we are logged in, and know what are our privileges.
2016-04-16 16:05:24 +00:00
func PingGET ( md common . MethodData ) common . CodeMessager {
var r pingResponse
2016-04-03 17:59:27 +00:00
r . Code = 200
2016-04-16 16:05:24 +00:00
2016-04-08 17:05:54 +00:00
if md . ID ( ) == 0 {
2016-04-09 21:53:49 +00:00
r . Message = "You have not given us a token, so we don't know who you are! But you can still login with /api/v1/tokens/new " + kaomojis [ rn . Intn ( len ( kaomojis ) ) ]
2016-04-03 17:59:27 +00:00
} else {
r . Message = surpriseMe ( )
}
2016-04-16 16:05:24 +00:00
r . ID = md . ID ( )
r . Privileges = int ( md . User . Privileges )
return r
}
type surpriseMeResponse struct {
common . ResponseBase
Cats [ 100 ] string ` json:"cats" `
2016-04-03 17:59:27 +00:00
}
2016-04-04 12:36:37 +00:00
// SurpriseMeGET generates cute cats.
2016-04-03 17:59:27 +00:00
//
// ... Yes.
2016-04-16 16:05:24 +00:00
func SurpriseMeGET ( md common . MethodData ) common . CodeMessager {
var r surpriseMeResponse
2016-04-03 17:59:27 +00:00
r . Code = 200
for i := 0 ; i < 100 ; i ++ {
2016-04-16 16:05:24 +00:00
r . Cats [ i ] = surpriseMe ( )
2016-04-03 17:59:27 +00:00
}
2016-04-16 16:05:24 +00:00
return r
2016-04-03 17:59:27 +00:00
}