| 40 | ); |
| 41 | |
| 42 | export const mintInviteCode = async ( |
| 43 | handler: Handler, |
| 44 | role: InviteRole = "member", |
| 45 | ): Promise<string> => { |
| 46 | const token = await signInToken( |
| 47 | handler, |
| 48 | process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL!, |
| 49 | process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD!, |
| 50 | ); |
| 51 | return Effect.gen(function* () { |
| 52 | const client = yield* HttpApiClient.make(AdminHttpApi, { baseUrl: BASE }); |
| 53 | const invite = yield* client.admin.createInvite({ payload: { role } }); |
| 54 | return invite.code; |
| 55 | }).pipe(Effect.provide(clientLayer(handler, token)), Effect.runPromise); |
| 56 | }; |