| owner | authencated | everybody | |
|---|---|---|---|
| Select | O | X | X |
| Insert | O | O | X |
| Update | O | X | X |
| Delete | O | X | X |
배포된 웹사이트에 접속해 cookie값을 가져온다.
export const getUserFromCookie = async () => {
const cookie = await chrome.cookies.get({
name: authToken,
url: WEB_URL,
});
if (!cookie) return;
return JSON.parse(cookie.value) as Session;
};
쿠기 값에서 accesstoken을 가져와 supabase client를 만든다.
export const getSupabaseClient = async () => {
const user = await getUserFromCookie();
if (!user) throw new Error('없는 사용자입니다.');
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
db: { schema: 'memo' },
global: {
headers: {
authorization: `Bearer ${user.access_token}`,
},
},
});
return supabase;
};
supabase Database에 값을 조회한다.
export const getMemo = async () => {
const supabaseClient = await getSupabaseClient();
const response = await supabaseClient.from('memo').select('*');
return response;
};