sparse-intern-71089
04/17/2023, 4:28 PMsteep-toddler-94095
04/17/2023, 4:40 PMcalm-jackal-58777
04/18/2023, 12:56 PMexport async function setupApplications(
  auth0Provider: Auth0Provider,
  gcpProvider: GcpProvider,
  tenant: Tenant,
  project: Project,
  importResource: Importer,
) {
  const readSecret = secretAccessor(gcpProvider, "big-hero-0");
  const clients: Client[] = await setupClients(auth0Provider, readSecret, tenant, project, importResource);
  const resourceServers: ResourceServer[] = await setupResourceServers(auth0Provider, readSecret, project, importResource);
  const grants: ClientGrant[] = await setupClientGrants(
    auth0Provider,
    readSecret,
    tenant,
    project,
    importResource,
    clients,
    resourceServers,
  );
}calm-jackal-58777
04/18/2023, 12:56 PMasync function setupClients(
  auth0Provider: Auth0Provider,
  readSecret: ReadSecret,
  tenant: Tenant,
  project: Project,
  importResource: Importer,
) {
  const definitions = await getAuth0ClientsForTenant(readSecret, tenant, project);
  return await Promise.all(
    definitions.map(
      async (client) =>
        new Client(client.name, client, {
          provider: auth0Provider,
          import: await importResource("client", client.name),
          // We never want to delete clients since this would destroy client id / secret, so protect them.
          protect: true,
        }),
    ),
  );
}calm-jackal-58777
04/18/2023, 12:58 PMRandomResourceTypeArgscalm-jackal-58777
04/21/2023, 1:10 PMstringOutput<string>async function setupResourceServers(
  auth0Provider: Auth0Provider,
  readSecret: ReadSecret,
  project: Project,
  importResource: Importer,
) {
  const definitions = await getAuth0Apis(readSecret, project);
  const entries = await Promise.all(
    definitions.map(async (resourceServer) => {
      const res = new ResourceServer(resourceServer.name, resourceServer, {
        provider: auth0Provider,
        import: await importResource("resource-server", resourceServer.name),
        // We never want to delete resource servers
        protect: true,
      });
      return [resourceServer.name, res.identifier] as const;
    }),
  );
  return new Map(entries);
}steep-toddler-94095
04/22/2023, 4:25 AM.mapArray<{client: Client, resourceServer: ResourceServer, clientGrant: ClientGrant}>calm-jackal-58777
04/24/2023, 9:21 AMNo matter how you like to participate in developer communities, Pulumi wants to meet you there. If you want to meet other Pulumi users to share use-cases and best practices, contribute code or documentation, see us at an event, or just tell a story about something cool you did with Pulumi, you are part of our community.
Powered by