반응형

 

Supabase Authentication을 hooking 해서 사용해야 하는 경우가 있습니다.

이때 sql query 함수를 개발하고 테스트를 보통은 cli를 통해서 진행할텐데, cli에 extension이 활성화 안되어있는 경우 검토가 힘들어지겠죠.

 

 

저도 역시 plv8이 활성화 안되어있어서 , 문제였습니다.

 

해결책은 다음 과 같이 찾아서 정리해봤습니다.

 

1. supabase에 기본적으로 extension으로 plv8이 있는 거 같음.

2. 그래서 이를 활성화 시키는 방법을 찾아서 실행.

3. 활성화 된것 확인

 

extension 활성화

CREATE EXTENSION plv8;

 

 

설치 확인

SELECT * FROM pg_available_extensions WHERE name = 'plv8';
 

 

코드 작성...

create or replace function custom_jwt_token_hook(event jsonb)
returns jsonb
language plv8
as $$

  var org_id, role, org_depart_id;

  -- Fetch the current user's level from the profiles table
  var result = plv8.execute("select org_id, role, org_depart_id from public.user_profiles where user_id = $1", [event.user_id]);
  if (result.length > 0) {
    org_id = result[0].org_id;
    org_depart_id = result[0].org_depart_id;
    role = result[0].role;

  } else {
    org_id = 0;
    org_depart_id = 0;
    role = '';
  }

  -- Check if 'claims' exists in the event object; if not, initialize it
  if (!event.claims) {
    event.claims = {};
  }

  -- Update the level in the claims
  event.claims.org_id = org_id;
  event.claims.org_depart_id = org_depart_id;
  event.claims.role = role;

  return event;
$$;

grant all
  on table public.user_profiles
  to supabase_auth_admin;

revoke all
  on table public.user_profiles
  from authenticated, anon, public;

'Supabase' 카테고리의 다른 글

[Supabase] Edge function 만들기  (0) 2024.12.11
[Flutter] supabase database 의 json 내부 query하기  (0) 2024.09.19
반응형

Tizen 개발 툴중에 CLI라는 것이 있습니다.


Command Line으로 조작할 수 있도록 제공하는 기능인데요.


자세한 내용은 아래 page로 들어가 보시면 확인 할 수 있습니다.

https://developer.tizen.org/development/tools/native-tools/command-line-interface




Tizen IDE에서 현재 프로젝트를 CLI 로 Export 시킬 수 있는 메뉴가 있습니다. (Export to CLI project를 선택하면 됩니다.)



cli를 실행시킬수 있는 프로그램은  <Tizen SDK>/tools/ide/bin 에 위치 합니다.

실행 명령어는 tizen 입니다.


ex) tizen build-native -a arm -c gcc -C Debug 

       tizen tizen-native -a x86 -c gcc -C Debug




build 형식


  tizen build-native [-a {x86|arm}] [-c {gcc|llvm}] 
                     [-C {Debug|Release}] [--]

  • -a, --arch:

    Specifies the architecture type.

  • -c, --compiler:

    Specifies the compiler. You can use this option with the following compiler versions: gcc-4.9 and llvm-3.6

  • -C, --configuration:

    Specifies the build configuration.

  • --:

    Specifies the project directory.



create 형식
  tizen create native-project [-p <profile name>] [-t <predefined template>] 
                              [-n <project name>] [-- <project location>]

  • -p, --profile:

    Specifies the profile name.

  • -t, --template:

    Specifies the template name.

  • -n, --name:

    Specifies the project name.

  • --:

    Specifies the destination directory where the project is created.



  

Tizen SDK의 ide가 아닌 다른 IDE나 editor를  사용한다면 CLI를 이용해서 build 까지 customizing 해서 사용할 수 있습니다.



'tizen' 카테고리의 다른 글

EFL: event flow control (이벤트 흐름 제어)  (0) 2016.08.25
tpk install, 설치  (0) 2014.05.28
Tizen::Content::ContentSearch 사용하기  (1) 2010.05.19

+ Recent posts