addHours(12); return Cache::remember($key, $ttl, function() use($id) { $res = UserPronoun::whereProfileId($id)->first(); return $res ? json_decode($res->pronouns, true) : []; }); } public static function put($id, $pronouns) { $res = UserPronoun::whereProfileId($id)->first(); $key = 'user:pronouns:' . $id; if($res) { $res->pronouns = json_encode($pronouns); $res->save(); Cache::forget($key); AccountService::del($id); return $res->pronouns; } $res = new UserPronoun; $res->profile_id = $id; $res->pronouns = json_encode($pronouns); $res->save(); Cache::forget($key); AccountService::del($id); return $res->pronouns; } public static function clear($id) { $res = UserPronoun::whereProfileId($id)->first(); if($res) { $res->pronouns = null; $res->save(); } $key = 'user:pronouns:' . $id; Cache::forget($key); AccountService::del($id); } public static function pronouns() { return [ 'co', 'cos', 'e', 'ey', 'em', 'eir', 'fae', 'faer', 'he', 'him', 'his', 'her', 'hers', 'hir', 'mer', 'mers', 'ne', 'nir', 'nirs', 'nee', 'ner', 'ners', 'per', 'pers', 'she', 'they', 'them', 'theirs', 'thon', 'thons', 've', 'ver', 'vis', 'vi', 'vir', 'xe', 'xem', 'xyr', 'ze', 'zir', 'zie' ]; } }