---
# System prepended metadata

title: Asiania Discussion_220621

---

# Asiania Discussion_220621
## user
* 問題: 
    * db的使用者是在Auth0 create user後call hook去新增的。但p2會出現的情況是，使用者有些原本就有Auth0帳號，但新user db沒有他們的資料，就算他們auth0登入後我們db也不會有(因為對Auth0來說他們不是新user)
* 處理:
    1. 把原本舊db的user搬過來(4812個)
        * 優點 -> 所有User都會進去
        * 缺點 -> 很多沒在用的殭屍帳號
    2. 在進入p2首頁時call imUser時，檢查該auth0帳號在新db有無創建user了，沒有的話幫忙直接新建
        * 優點 -> 只有現在在用的user才會被建立，資料比較不護那麼雜
        * 缺點 -> 可能使用者不一定從首頁進來，無法確保使用者一定會先被建立

## shortcut 處理方式
1. 開一個新的route (e.g., /shortcut)，一旦網址為/shortcut (e.g., asiania.aikhun.com/shortcut/myevent)，即進入此route處理轉址
2. DB有專門的 RedirectUrl table，存完整url及shortcut，進入此route時，前端query完整url進行轉址
```
RedirectUrl {
    id -> Event/Draft 存此 id 搭配 RedirectUrl 的 compute field
    full_url -> e.g., asiania.aikhun.com/event/avc13rerf234
    short_path -> e.g., myevent
} 
```
3. 編輯draft時，前端先query所有shortcuts，當使用者輸入有所重複時顯示警告

## decode
* 目前的use-ticket route：/event/[evnet_id]/use-ticket/[ticket_id]
前端會拿ticket_id去query encrypt ticket，接著再claim ticket
* 問題：decode的link還需要給encrypt ticket嗎？還是直接給上方的route即可 (e.g., /event/abc123/use-ticket/def456)？

## socket io
* 問題：仍需要用socket io去限制連線數嗎？還是有其他做法？

## subscription context
* 問題: session有一個subscription給前端聽，因為要應付host換scene的情況，但session有部分field是要綁context的(要擋user region)，這樣subscription那邊有辦法把context傳給session的root去判斷嗎，不然subscription好像都會跳錯說回傳的session有些field沒context被擋掉

