Parse Community Forum - Latest posts https://community.parseplatform.org Latest posts Cant get .NET Client running Did u get your initialization working? If so, what steps did u use? What was the issue?

]]>
https://community.parseplatform.org/t/cant-get-net-client-running/2994#post_3 Fri, 13 Feb 2026 15:11:19 +0000 community.parseplatform.org-post-11785
graphql context.auth.user.id is null Hi,
so I started to setup graphql with latest version of parse-server. here is my query

query GetCurrentUser {
                viewer {
                  sessionToken
                  user {
                    objectId
                  }
                }
              }

and this is my header

{"X-Parse-Application-Id":"myAppId","X-Parse-Session-Token":"r:75db68f1cc3....a5fbe43b718bf3f4"}

for some reason it fails at here

const response = await _rest.default.find(config, context.auth, '_User',
  // Get the user it self from auth object
  {
    objectId: context.auth.user.id
  }, options, info.clientVersion, info.context);

the value for context.auth.user is undefined! I tried to debug it but seems this value is comming from req.auth! I am wondering if there is any bugs somewhere?

]]>
https://community.parseplatform.org/t/graphql-context-auth-user-id-is-null/5085#post_1 Tue, 10 Feb 2026 02:57:32 +0000 community.parseplatform.org-post-11778
Android Push Setup After updating the server it started working!

]]>
https://community.parseplatform.org/t/android-push-setup/5079#post_3 Fri, 23 Jan 2026 23:41:15 +0000 community.parseplatform.org-post-11767
Android Push Setup The push adapter README should have the lastest info on that matter, depending on the version of adapter you’re using.

]]>
https://community.parseplatform.org/t/android-push-setup/5079#post_2 Fri, 23 Jan 2026 23:18:39 +0000 community.parseplatform.org-post-11766
Android Push Setup Wondering how to properly set up push for Android using parse-server 7.0
According to documentation on setting up Push the following should be added for Android

android: {
      apiKey: '...'
    },

which is not consistent with what’s explained on the push-adapter repo

android: {
  firebaseServiceAccount: __dirname + '/firebase.json'
}
]]>
https://community.parseplatform.org/t/android-push-setup/5079#post_1 Wed, 21 Jan 2026 22:48:55 +0000 community.parseplatform.org-post-11765
Auth adapters - keycloak and oauth2 Hello,
I’m trying to use keycloak authentication in parse-server. I think there are multiple problems in the implementation of the adapter.

In src/Adapters/Auth/keycloak.js :

 * @param {Array} [authData.roles] - The roles assigned to the user in Keycloak (optional).
 * @param {Array} [authData.groups] - The groups assigned to the user in Keycloak (optional).

means groups and roles keys in authData are optional.
But in the code :

    if (
      response &&
      response.data &&
      response.data.sub == id &&
      arraysEqual(response.data.roles, roles) &&
      arraysEqual(response.data.groups, groups)
    ) {
      return;
    }
  • there are calls to arraysEqual for roles and groups, which are undefined if not present in authData.

There should be something like :

    if (
      response &&
      response.data &&
      response.data.sub == id &&
      (typeof roles === undefined || arraysEqual(response.data.roles, roles)) &&
      (typeof groups === undefined || rraysEqual(response.data.groups, groups))
    ) {
      return;
    }
  • the check is made against response.data

But after some tries, I found out that in my responses from keycloak userinfo endpoint, I didn’t get a data key. In fact it works with :

    if (
      response &&
      response.sub == id &&
      (typeof roles === undefined || arraysEqual(response.roles, roles)) &&
      (typeof groups === undefined || arraysEqual(response.groups, groups))
    ) {
      return;
    }

I used this code in a custom auth adapter, but it might be useful to fix it upstream.

In fact I have also tried to use oauth2 adapter, and unfortunately I think it does not work.

The code in src/Adapters/Auth/oauth2.js :

  • specifies
 * {
 *   "auth": {
 *     "oauth2Provider": {
         ...
 *   }
 * }
 *
  • and there is this implementation
    const response = await fetch(this.tokenIntrospectionEndpointUrl, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        ...(this.authorizationHeader && {
          Authorization: this.authorizationHeader
        })
      },
      body: new URLSearchParams({
        token: accessToken,
      })
    });

but it didn’t work at all, response allways returned with ‘401: Unthauthorized’.

I got it working with

 * {
 *   "auth": {
 *     "oauth2": {
         ...
 *   }
 * }
 *

and this implementation

    const response = await fetch(this.tokenIntrospectionEndpointUrl, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        ...(this.authorizationHeader && {
          Authorization: this.authorizationHeader
        })
      },
      body: new URLSearchParams({
        token: accessToken,
        client_secret: "***redacted***",
        client_id: "myclient"
      })
    });

with a Keycloak client myclient configured for client authentication.

Any opinion on the matter ? I believe keycloak and oath2 auth providers are not widely used as I did not find a lot of help on this subject.

]]>
https://community.parseplatform.org/t/auth-adapters-keycloak-and-oauth2/5075#post_1 Fri, 16 Jan 2026 14:57:25 +0000 community.parseplatform.org-post-11759
"Feature unavailable" in Parse Dashboard >=5.1.0 In case anyone else encounters the same issue (I doubt it), I “solved” it by recreating the container without specifying the appName, in parse-dashboard:7.5.0.
I don’t know if it’s related, but sometimes I use the same appName for many containers (in different ports).

]]>
https://community.parseplatform.org/t/feature-unavailable-in-parse-dashboard-5-1-0/3629#post_4 Thu, 15 Jan 2026 21:15:52 +0000 community.parseplatform.org-post-11755
CloudCode blocking OpenAI API streaming Yes. I solved this issue by creating a POST endpoint rather than using Parse objects and LiveQuery. On the client side I access the stream via Fetch request.

https://github.com/leebert/unlegalese

]]>
https://community.parseplatform.org/t/cloudcode-blocking-openai-api-streaming/5065#post_3 Tue, 13 Jan 2026 17:33:27 +0000 community.parseplatform.org-post-11737
CloudCode blocking OpenAI API streaming Do you want to stream to the client?

]]>
https://community.parseplatform.org/t/cloudcode-blocking-openai-api-streaming/5065#post_2 Fri, 09 Jan 2026 11:08:38 +0000 community.parseplatform.org-post-11734
CloudCode blocking OpenAI API streaming Hello. I’m using Back4App to proxy OpenAI API responses to a client app and I’ve got everything working except for streaming. On the server side I am saving the streamed responses to an OpenAIResponse object and on the client side I use LiveQuery to listen for updates to that class so that I can display the response progressively to the user. However, when I call the CloudCode it appears to block everything and the LiveQuery events don’t fire until the function completes. Any ideas on what I’m doing wrong or how I might do this differently?

CloudCode

Parse.Cloud.define("testOpenAI", async (request) => {
  const OpenAIResponse = Parse.Object.extend("OpenAIResponse");
  const openAIResponse = new OpenAIResponse();
  openAIResponse.set('response', '');
  await openAIResponse.save();
  
  const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY,
  });

  var tokenCount = 0;
  const stream = openai.responses
    .stream({
    model: 'gpt-5-nano-2025-08-07',
    instructions: 'You are a storyteller that talks like a pirate.',
    input: 'Tell a ten word story about a tardigrade.',
    stream: true,
    })
    .on("response.output_text.delta", (event) => {
      openAIResponse.set('response', `${openAIResponse.get('response')}${event.delta}`);
      tokenCount++;
      openAIResponse.set('tokenCount', tokenCount);
      openAIResponse.save();
    })
    .on("response.error", (event) => {
      console.error(event.error);
    });
  
});

Relevant Client Code

liveQueryClient.open();
const query = new Parse.Query("OpenAIResponse");
const subscription = liveQueryClient.subscribe(query);
subscription.on("update", data => {
  res.innerHTML = data.get('response');
});

async function testApp() {
  try {
    await Parse.Cloud.run("testOpenAI");
  } catch (e) {
    console.log(`testOpenAI failed - ${e}`);
  }
};

testApp().then(()=>{
  console.log('testApp completed')
});
]]>
https://community.parseplatform.org/t/cloudcode-blocking-openai-api-streaming/5065#post_1 Mon, 05 Jan 2026 23:04:18 +0000 community.parseplatform.org-post-11733
AfterSave trigger is executed even before transaction is committed to database That sounds like a bug. If you want to open an issue in the Parse Server repo with a simple code example to demo the issue.

]]>
https://community.parseplatform.org/t/aftersave-trigger-is-executed-even-before-transaction-is-committed-to-database/5038#post_2 Sun, 30 Nov 2025 21:11:51 +0000 community.parseplatform.org-post-11724
CORP Headers > /files endpoint Q. Does anyone know if the latest Parse Server supports CORP headers?

Parse Server 3.2.3
NodeJs 10.15.1
Host Nodechef

Our /files endpoint works for the mostpart, except when we add some images, the subsequent GET request fails due to missing CORP headers.

  • POST https://…/parse/files/myFile.png [Response HTTP 201 {url,name}]
  • GET url [Response fails as Chrome blocks due to missing header cross-origin-resource-policy]

Our Web client sets headers COEP & COOP to enable OPFS for SQLite:

  • Header set Cross-Origin-Embedder-Policy “require-corp”
  • Header set Cross-Origin-Opener-Policy “same-origin”
]]>
https://community.parseplatform.org/t/corp-headers-files-endpoint/5049#post_1 Tue, 11 Nov 2025 03:59:35 +0000 community.parseplatform.org-post-11716
Multi tenant implementation Hi @xeoshow
not yet for postgres.
all contributions are welcome

]]>
https://community.parseplatform.org/t/multi-tenant-implementation/1270?page=3#post_58 Sun, 09 Nov 2025 10:40:53 +0000 community.parseplatform.org-post-11713
AfterSave trigger is executed even before transaction is committed to database As the topic suggests, the afterSave is getting executed even before the transaction in database

]]>
https://community.parseplatform.org/t/aftersave-trigger-is-executed-even-before-transaction-is-committed-to-database/5038#post_1 Mon, 27 Oct 2025 04:24:47 +0000 community.parseplatform.org-post-11704
Pure Kotlin SDK The GitHub URL above no longer works. Seems like the author changed their username. Here is the new link. https://github.com/Nikhil-z/ParseKt

But the last changes were in nov 2021.

I was wondering whether I could adapt an Android Kotlin app to use Kotlin Multiplatform instead, but the lack of Parse for Kotlin Multiplatform would be holding me back, if there isn’t more than a proof-of-concept used by possibly nobody.

]]>
https://community.parseplatform.org/t/pure-kotlin-sdk/977#post_8 Sat, 11 Oct 2025 07:47:27 +0000 community.parseplatform.org-post-11698
Live query not working in iOS code URL had a type in question. Not working even after correcting.

I think this bug is still not fixed.

I however have another problem here web socket trace and log are not printed in Xcode console.

]]>
https://community.parseplatform.org/t/live-query-not-working-in-ios-code/5027#post_2 Thu, 25 Sep 2025 18:33:54 +0000 community.parseplatform.org-post-11692
Is pgvector extension supported in Parse Server? By embedding column, I just mean the VECTOR column as shown below.
Any help is highly appreciated.

CREATE TABLE test_questions (
    id SERIAL PRIMARY KEY,
    content TEXT NOT NULL, 
    embedding VECTOR(512)
);
]]>
https://community.parseplatform.org/t/is-pgvector-extension-supported-in-parse-server/5023#post_2 Tue, 23 Sep 2025 10:02:16 +0000 community.parseplatform.org-post-11691
Live query not working in iOS code I am running parse server on local macOS. Server URL is is http://192.168.1.2:1337/parse. Parse server and live server are configured properly : class names are added.websocket is working fine. Testing from Terminal using wscat. Parse object being updated has read access for logged in PFUser. websocket trace or log is not printed in Xcode console. LiveQuerymanager instance is stored in app delegate and available through app. it is instantiated after Parse server is configured. Parse Server version 7.3, iOS SDk v5.1.1

this is the code

import ParseLiveQuery
import ParseCore
class LiveQueryManager {
    static let shared = LiveQueryManager()

    private var client: ParseLiveQuery.Client
    private var TestObjectSubscription: Subscription<PFObject>?
    let TestObjectQuery = PFQuery(className: "TestObject")

    init() {
                
        client = ParseLiveQuery.Client(
            server: "http://192.168.2.1:1337",
            applicationId: "parseAppID",
            clientKey: "parseClientID"
        )
        client.shouldPrintWebSocketLog = true
        client.shouldPrintWebSocketTrace = true
        
        TestObjectSubscription = client.subscribe(TestObjectQuery) //client.subscribe(query)
        TestObjectSubscription!.handle(Event.created) { _, book in
            
            if let title = book["title"] as? String, let id = book.objectId {
                print("Book \(title) was added")
            }
        }

        TestObjectSubscription!.handle(Event.updated) { _, book in
            if let title = book["title"] as? String, let id = book.objectId {
                print("Book \(title) was updated")
            }
        }

        TestObjectSubscription!.handle(Event.deleted) { _, book in
            
            if let title = book["title"] as? String, let id = book.objectId {
                print("Book \(title) was deleted")
            }
        }
        
        TestObjectSubscription!.handleSubscribe { query in
            print("TestObject subscription status changed to \(query)")
        }
            
        TestObjectSubscription!.handleSubscribe { TestObjectQuery in
            print("Subscribed to Live Query for TestObject updates")
        }
            
        TestObjectSubscription!.handle(LiveQueryErrors.InvalidJSONError.self) { query, error in
            print("InvalidJSONError  \(error)")
         }

        TestObjectSubscription!.handle(LiveQueryErrors.InvalidResponseError.self) { query, error in
            print("InvalidResponseError  \(error)")
         }
        TestObjectSubscription!.handle(LiveQueryErrors.InvalidQueryError.self) { query, error in
            print("InvalidQueryError \(error)")
         }

        TestObjectSubscription!.handle(LiveQueryErrors.InvalidJSONObject.self) { query, error in
            print("InvalidJSONObject \(error)")
         }

        TestObjectSubscription!.handle(LiveQueryErrors.ServerReportedError.self) { query, error in
            print("ServerReportedError \(error)")
            self.client.reconnect()
         }
        
        
        ParseLiveQuery.Client.shared = client

        

    } 
}
]]>
https://community.parseplatform.org/t/live-query-not-working-in-ios-code/5027#post_1 Mon, 22 Sep 2025 18:33:31 +0000 community.parseplatform.org-post-11690
Postgresql and sql Hello,

Is there any way I could use the pgvector and embedding column in Parse Server with regard to pgsql?

Thanks v much.

]]>
https://community.parseplatform.org/t/postgresql-and-sql/2476#post_5 Sun, 21 Sep 2025 03:38:52 +0000 community.parseplatform.org-post-11686
Is pgvector extension supported in Parse Server? Hello,

I have enabled pgvector extension in my pgsql server, which is the database for my Parse Server.

Is pgvector extension supported in Parse Server Object? And how can I add embedding column in the schema?

Thanks v much

]]>
https://community.parseplatform.org/t/is-pgvector-extension-supported-in-parse-server/5023#post_1 Sun, 21 Sep 2025 03:34:41 +0000 community.parseplatform.org-post-11685
[JS] Parse instance initiate many websocket client connection within one user instance function MyComponent() { useEffect(() => { let subscription; const tagQuery = new Parse.Query("Stables"); tagQuery.subscribe().then((subs) => { subscription = subs; // subs.on(...) }); // component unmount // Here! Critics! return () => { if (subscription) subscription.unsubscribe(); }; }, []); ]]> https://community.parseplatform.org/t/js-parse-instance-initiate-many-websocket-client-connection-within-one-user-instance/5021#post_2 Sat, 20 Sep 2025 20:02:38 +0000 community.parseplatform.org-post-11684 [JS] Parse instance initiate many websocket client connection within one user instance Hi all,

We are running a legacy app with Parse JS SDK v3.4.4 and have noticed a performance issue: each user instance spawns multiple WebSocket (LiveQuery) connections — typically 8–10 connections visible in the browser network tab. This creates unnecessary load on our reverse proxy, since every connection establishes a separate TLS/TCP channel.

We’ve already ensured that:

  • Parse.initialize is only called once at app startup.
  • The Parse instance is imported as a singleton and shared across all frontend components.
  • All subscriptions use that singleton.

Yet, multiple ws://.../socket.io connections are still created.
It seems every parseObject query creates a new ws client.

This is our singleton sample code

import Parse from "parse/dist/parse.min.js";

const APPLICATION_ID = "APPTEST";
const SERVER_URL = process.env.REACT_APP_SERVER_URL;

function initializeParse() {
  if (!window._PARSE_CLIENT_INITIALIZED) {
    Parse.initialize(APPLICATION_ID);
    Parse.serverURL = SERVER_URL;

    const basePath = process.env.REACT_APP_LIVEQUERY_SERVER_URL || "/socket.io";
    const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
    const host = window.location.host;

    if (process.env.NODE_ENV === "production") {
      Parse.liveQueryServerURL = `${protocol}//${host}${basePath}`;
    } else {
      Parse.liveQueryServerURL = "ws://localhost:1335/";
    }

    window._PARSE_CLIENT_INITIALIZED = true;
    console.log("Parse initialized");
  }
}

initializeParse();

export default Parse;

Then on react component:

import Parse from "../parseConfig.js";
const DB_Timetables = Parse.Object.extend("Timetables");

let tagQuery = new Parse.Query("Stables");
    tagQuery.subscribe().then((subs) => {
      subs.on("open", () => {
        tagQuery.notEqualTo("tTags", 0);
        tagQuery.find().then((results) => {
          if (results.length !== 0) {
            let tally = [0, 0, 0, 0, 0, 0, 0, 0];
            results.forEach((result) => {
              const tags = result.get("tTags");
              if ((tags & tTagInfo.t1) !== 0) ++tally[0];
              if ((tags & tTagInfo.t2) !== 0) ++tally[1];
              if ((tags & tTagInfo.t3) !== 0) ++tally[2];
              if ((tags & tTagInfo.t4) !== 0) ++tally[3];
              if ((tags & tTagInfo.t5) !== 0) ++tally[4];
              if ((tags & tTagInfo.t6) !== 0) ++tally[5];
              if ((tags & tTagInfo.t7) !== 0) ++tally[6];
              if ((tags & tTagInfo.t8) !== 0) ++tally[7];
            });
            this.setState({ tTagTally: tally });
          }
        });
      });
      subs.on("update", (object) => {
        tagQuery.notEqualTo("tTags", 0);
        tagQuery.find().then((results) => {
          if (results.length !== 0) {
            let tally = [0, 0, 0, 0, 0, 0, 0, 0];
            results.forEach((result) => {
              const tags = result.get("tTags");
              if ((tags & tTagInfo.t1) !== 0) ++tally[0];
              if ((tags & tTagInfo.t2) !== 0) ++tally[1];
              if ((tags & tTagInfo.t3) !== 0) ++tally[2];
              if ((tags & tTagInfo.t4) !== 0) ++tally[3];
              if ((tags & tTagInfo.t5) !== 0) ++tally[4];
              if ((tags & tTagInfo.t6) !== 0) ++tally[5];
              if ((tags & tTagInfo.t7) !== 0) ++tally[6];
              if ((tags & tTagInfo.t8) !== 0) ++tally[7];
            });
            this.setState({ tTagTally: tally });
          }
        });
      });
    });

Can help me on this please if there is wrong pattern in using the library?

]]>
https://community.parseplatform.org/t/js-parse-instance-initiate-many-websocket-client-connection-within-one-user-instance/5021#post_1 Thu, 18 Sep 2025 10:49:29 +0000 community.parseplatform.org-post-11682
Efficient Query for Nested Pointer Filtering Hi Parse Community,

I’m working with a nested class structure and need help crafting an efficient query

Schema Structure:

  • Property class → has pointer to Project
  • Project class → has pointer to Developer and ProjectStatus

What I Need:

I want to filter Property objects based on:

  1. ProjectStatus of the related Project
  2. Specific Developer of the related Project

Current Approach:

const developerQuery = new Parse.Query(‘Developer’);
developerQuery.equalTo(‘objectId’, developerId);

const projectQuery = new Parse.Query(‘Project’);
projectQuery.matchesQuery(‘developer’, developerQuery);

const propertyQuery = new Parse.Query(‘Property’);
propertyQuery.matchesQuery(‘project’, projectQuery);

My Questions:

  1. Is this the most efficient approach for deep nested filtering?
  2. Should I use **aggregation pipelines instead (I’m using MongoDB)?
]]>
https://community.parseplatform.org/t/efficient-query-for-nested-pointer-filtering/5007#post_1 Thu, 21 Aug 2025 14:30:17 +0000 community.parseplatform.org-post-11668
Upgrading parse-server from 5 to 8 I’ve since found out that this is happening exclusively in cloud code triggers. Opened an issue here.

]]>
https://community.parseplatform.org/t/upgrading-parse-server-from-5-to-8/4966#post_2 Thu, 24 Jul 2025 02:30:37 +0000 community.parseplatform.org-post-11656
What is correct way to set value to undefined? I tried nil as pointed out in PFObject.m, it is now allowed.
If i sent as NSNull() then property is set to (null). This is not nil so code is unable to check for nil.
Xcode doesnt allow using null.

so what is the correct way to undefined a property when saving an object?

- (void)_setObject:(id)object forKey:(NSString *)key onlyIfDifferent:(BOOL)onlyIfDifferent {
    PFParameterAssert(object != nil && key != nil,
                      @"Can't use nil for keys or values on PFObject. Use NSNull for values.");
]]>
https://community.parseplatform.org/t/what-is-correct-way-to-set-value-to-undefined/4994#post_1 Thu, 17 Jul 2025 17:58:50 +0000 community.parseplatform.org-post-11654
Resend email adapter Yes, that’s right. If you look at the mailgun example in the README, you’d add the resend dependency in your own app, and just use the payload converter to feed it the right payload. It can be HTML, react, or whatever the resend package expects.

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_7 Thu, 17 Jul 2025 06:37:31 +0000 community.parseplatform.org-post-11652
Resend email adapter So basically the only thing needed to work with this adapter is to build a payload converter ?

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_6 Thu, 17 Jul 2025 06:07:04 +0000 community.parseplatform.org-post-11651
Resend email adapter I will have a look and try to use it.

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_5 Thu, 17 Jul 2025 06:01:03 +0000 community.parseplatform.org-post-11650
Resend email adapter Our API adapter supports HTML templates, and is also fully integrated with Parse Server to make the user object, and custom placeholder fields accessible within the templates. The advantage is that since it’s our official adapter for Parse Server, we run the CI and keep maintaining it.

All that’s needed for Resend seems to be to add a very lightweight (few lines of code) payload converter. The Resend npm package would not be added to the adapter but the adapter would relay your payload to it. Whatever payload you use (HTML, React code, etc) should work. We intentionally designed the adapter to be that flexible. Maybe take a look at how the existing payload converters work to get a better idea.

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_4 Wed, 16 Jul 2025 20:55:18 +0000 community.parseplatform.org-post-11649
Resend email adapter Hi, no because I didn’t know about it. But the thing with this one is I need to have the template in html or in my case I like the fact that I only have email as react component.

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_3 Wed, 16 Jul 2025 18:56:15 +0000 community.parseplatform.org-post-11648
Resend email adapter @tiby.eth Have you considered extending our parse-server-api-mail-adapter with a new payload converter? It’s our universal adapter that supports a variety of email service providers, with built-in features like templates and localization. I guess it could also be slimmer, as you are importing the resend package, which probably wouldn’t be necessary if you directly used the Resend REST API with our mail adapter and a payload converter.

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_2 Wed, 16 Jul 2025 12:56:42 +0000 community.parseplatform.org-post-11647
Is there an equivalent of Parse.enableEncryptedUser(); for Android and iOS native platforms or alternate ways of doing this Hi There,
We have [LINK REMOVED] for Java script, currently we see that the json is stored in the Device in a plaintext format on Android and iOS and were exploring ways to encrypt the data at rest, we found the above method for Java script, however could not find an equivalent of this for Native Android and iOS platforms in the Parse SDK for these platforms.

Could anyone let us know if its available in Android and iOS or an alternate way to do it.

]]>
https://community.parseplatform.org/t/is-there-an-equivalent-of-parse-enableencrypteduser-for-android-and-ios-native-platforms-or-alternate-ways-of-doing-this/4992#post_1 Wed, 16 Jul 2025 12:51:43 +0000 community.parseplatform.org-post-11646
Resend email adapter Hi everyone,

I just published a new Parse Server email adapter for Resend:

parse-server-resend-adapter

It supports customizable React Email templates for verification and password reset, easy branding, and TypeScript.

Check it out: npmjs.com/package/parse-server-resend-adapter

Feedback and contributions welcome!

]]>
https://community.parseplatform.org/t/resend-email-adapter/4989#post_1 Tue, 15 Jul 2025 21:59:55 +0000 community.parseplatform.org-post-11643
[Request] Delete account in Parse forum Hi, I’ll respond in a direct message about the details for this process.

]]>
https://community.parseplatform.org/t/request-delete-account-in-parse-forum/4982#post_2 Wed, 09 Jul 2025 17:35:17 +0000 community.parseplatform.org-post-11637
Postgresql and sql Hi,

Offtopic

Can you show how you connected to postgres with parse server?

I’m not able to connect with this URL.

const DB_URL_PROD = "postgres://parse:[email protected]:5433/parse"

let parse = new ParseServer({
  appId: "impressionserver",
  masterKey: "impressionserver",
  appName: "ImpressionServer",
  cloud: "./cloud/main",
  databaseURI: DB_URL_PROD,
]]>
https://community.parseplatform.org/t/postgresql-and-sql/2476#post_4 Wed, 09 Jul 2025 17:23:04 +0000 community.parseplatform.org-post-11635
[Request] Delete account in Parse forum Hey Parse team,

Firstly, sorry for posting here if this isn’t the correct place to do so.

I would like to have my account deleted (or anonymized) as well as all my data. Due to no longer using this forum and for privacy reasons.

Thank you in advance.

]]>
https://community.parseplatform.org/t/request-delete-account-in-parse-forum/4982#post_1 Thu, 03 Jul 2025 18:55:59 +0000 community.parseplatform.org-post-11634
How to filter data by ACL permissions in Parse Server using GET /aggregate endpoint? I’m working with Parse Server and trying to perform an aggregation query using the /aggregate endpoint with a GET request.
My goal is to only return data that the current user is allowed to read, according to the ACL (Access Control List) settings on each object.

For example, I have a collection called Posts and each object has an ACL field that looks like this:

{
  "ACL": {
    "J2QgVTpjig": { "read": true },
    "*": { "read": false }
  },
  "title": "Post title",
  "content": "Some content"
}

I want to use aggregate with $match so that it only returns documents where the ACL allows the current user (objectId: J2QgVTpjig) to read, or where it’s publicly readable.


What I tried

I wrote this pipeline:

[
  {
    "$match": {
      "$or": [
        { "ACL.J2QgVTpjig.read": true },
        { "ACL.*.read": true }
      ]
    }
  },
  {
    "$project": {
      "title": 1,
      "content": 1,
      "createdAt": 1
    }
  }
]

and sent it like this:

GET /parse/aggregate/Posts?pipeline=<url-encoded pipeline>

My question

Is this the recommended way to enforce ACL restrictions when using /aggregate in Parse Server?

Because normally, when using find or get, Parse automatically filters results by ACL. But it seems that aggregate does not apply ACL checks automatically, so I have to do it manually inside $match.

Is that correct?
Or is there a more secure / recommended way to ensure ACL is respected in aggregate pipelines?


TL;DR

  • Parse find automatically filters by ACL, but does aggregate?
  • Is it required to add $match manually for ACL in the pipeline when using /aggregate GET endpoint?
  • How do you usually handle this?

Thanks a lot for any help or best practices!


]]>
https://community.parseplatform.org/t/how-to-filter-data-by-acl-permissions-in-parse-server-using-get-aggregate-endpoint/4978#post_1 Wed, 02 Jul 2025 16:47:07 +0000 community.parseplatform.org-post-11629
Question about the parse-server LDAP documentation Hello everyone, best regards, I have a question,

I apply the documentation:

https://parseplatform.org/parse-server/api/release/LDAP.html#LDAP

export const parseServer = ParseServer({ 
databaseURI: config.DATABASE_URI, 
cloud: config.CLOUD_PATH, 
serverURL: config.SERVER_URL, 
logsFolder: './logs', 
publicServerURL: config.SERVER_PUBLIC_URL, 
appName: config.APP_NAME, 
appId: config.APPLICATION_ID, 
masterKey: config.MASTER_KEY, 
masterKeyIps: config.MASTER_KEY_IPS, 
maintenanceKey: process.env.MAINTENANCE_KEY || 'myMaintenanceKey', // Required property 
//masterKeyIps: ['::1', '127.0.0.1','192.168.50.164', '192.168.50.229', '192.168.1.51'], 
allowClientClassCreation: true, 
encodeParseObjectInCloudFunction: true, 
verbose: true, 
logLevel: 'silly', 
auth: { 
ldap: { 
url: "ldaps://ipa.test.dev:636", 
suffix: "cn=users,cn=accounts,dc=zucca,dc=dev", 
dn: "uid={{id}},cn=users,cn=accounts,dc=zucca,dc=dev", 
groupCn: "ipausers", 
groupFilter: "(memberUid={{dn}})" 
} 
}, 
javascriptKey: 'test123', 
verifyUserEmails: false, 
emailVerifyTokenValidityDuration: 2 * 60 * 60, 
liveQuery: { 
classNames: ['ItemsTest', 'ItemsTest'], 
},
});

but when running:

export async function login(username: string, password: string): Promise<User> { 
const user = await Parse.User.logInWith('ldap', { 
id: username, 
password: password 
}); 
return parseUser(user);
}

either:

Invoke-RestMethod -Uri "https://pcb.test.dev/parse/users" `
>> -Method Post `
>> -Headers @{
>> "X-Parse-Application-Id"="myAppId";
>> "X-Parse-REST-API-Key"="Test123";
>> "X-Parse-Javascript-Key"="Test123";
>> "Content-Type"="application/json"
>> } `
>> -Body '{"authData":{"ldap":{"id":"TestUser","password":"TEst.1234"}}}'

mistake:

Invoke-RestMethod:
{ 
"code": 1, 
"error": "LDAP auth configuration missing"
}

What am I doing wrong? Should I install something else? Could you help me? Thank you.

]]>
https://community.parseplatform.org/t/question-about-the-parse-server-ldap-documentation/4972#post_1 Sun, 22 Jun 2025 09:05:31 +0000 community.parseplatform.org-post-11623
Push Adapter support for multiple firebaseServiceAccounts Hello,

I am currently experimenting this change to the push adapter code:

]]>
https://community.parseplatform.org/t/push-adapter-support-for-multiple-firebaseserviceaccounts/4970#post_2 Mon, 16 Jun 2025 13:51:32 +0000 community.parseplatform.org-post-11621
Multi tenant implementation Hi @okobsamoht ,

is it OK for postgresql?

]]>
https://community.parseplatform.org/t/multi-tenant-implementation/1270?page=3#post_57 Fri, 13 Jun 2025 06:50:18 +0000 community.parseplatform.org-post-11620
Push Adapter support for multiple firebaseServiceAccounts Hello, is it possible to configure more than one android entry in the push adapter? I can send push notifications to different app ids on ios devices but not on android ones.

Thank you!

]]>
https://community.parseplatform.org/t/push-adapter-support-for-multiple-firebaseserviceaccounts/4970#post_1 Wed, 11 Jun 2025 17:32:06 +0000 community.parseplatform.org-post-11619
Upgrading parse-server from 5 to 8 Hi! I finally started my journey to upgrade parse in two projects I’m maintaining, which both use v 5.6 to the latest version of parse.

I made good progress, yet I ran into an issue that I did not see (or missed) in the breaking changes and want to ask here.

In my cloud code before find / after find triggers I’ve noticed that I cannot use the ParseObjectSubclass supplied in the context under objects is no longer usable as a pointer in ParseQuery.

An example object like this was usable in v 5.6.0 and was cast to a pointer correctly:

 ParseObjectSubclass {
   className: 'Cube',
   _objCount: 2385,
   id: 'VOD-052755'
 }

However now in v8 unless I do .toPointer() on the object, I cannot use it in pointer queries.

Since I have a lot of calls throughtout my codebase and I don’t want to have to add .toPointer() on all of these, any ideas on what I can do?

I tried setting the encodeParseObjectInCloudFunction option to false but this was not the culprit.

Would appreaciate any input! Thanks!

]]>
https://community.parseplatform.org/t/upgrading-parse-server-from-5-to-8/4966#post_1 Sat, 07 Jun 2025 10:58:00 +0000 community.parseplatform.org-post-11615
Sending push in afterSave trigger Just realized that I wasn’t calling

Parse.initialize(process.env.APP_ID, process.env.JS_KEY, process.env.MASTER_KEY);

and now it’s working :slight_smile:

]]>
https://community.parseplatform.org/t/sending-push-in-aftersave-trigger/4961#post_2 Fri, 06 Jun 2025 00:17:04 +0000 community.parseplatform.org-post-11612
Sending push in afterSave trigger I’m trying to send a push notification from an afterSave trigger but receiving the following error: Error: {"message":"Cannot use the Master Key, it has not been provided.","code":141}

Prior to upgrading to 3.x I was able to pass {useMasterKey: true} in the push call but now this doesn’t work.

]]>
https://community.parseplatform.org/t/sending-push-in-aftersave-trigger/4961#post_1 Thu, 05 Jun 2025 03:54:59 +0000 community.parseplatform.org-post-11609
Parse.Cloud.afterSave in model class
adammlevy:

Sorry I just saw your response from some months ago.
Aside from the cloud functions I have defined in cloud/main.js, I am also defining cloud code functions outside of that file. For example I have one file as follows located in the models folder:

models/Incident.js

Parse.Cloud.afterSave("Incident", (request) => {
// do something after saving the object
}

This was working fine before updating to parse-server 3.0 but now that I have upgraded I see the following error when starting up my parse server:

TypeError: Parse.Cloud.afterSave is not a function

If I move the afterSave trigger to cloud/main.js then the error goes away and the afterSave trigger works. I want to avoid doing this since I have a lot of classes that share the same style of code and that would require me to move multiple afterSave triggers to main.js.

For example, I’m using like this:

cloud/main.js

const {Parse} = require("parse");

require('./triggers/test')

cloud/triggers/test.js

Parse.Cloud.beforeDelete("test", async (req) => {
    console.log("beforeDelete",req.object);
});
]]>
https://community.parseplatform.org/t/parse-cloud-aftersave-in-model-class/4807#post_4 Tue, 27 May 2025 22:43:22 +0000 community.parseplatform.org-post-11605
Parse.Cloud.afterSave in model class @rgunindi Sorry I just saw your response from some months ago.
Aside from the cloud functions I have defined in cloud/main.js, I am also defining cloud code functions outside of that file. For example I have one file as follows located in the models folder:

models/Incident.js

Parse.Cloud.afterSave("Incident", (request) => {
// do something after saving the object
}

This was working fine before updating to parse-server 3.0 but now that I have upgraded I see the following error when starting up my parse server:

TypeError: Parse.Cloud.afterSave is not a function

If I move the afterSave trigger to cloud/main.js then the error goes away and the afterSave trigger works. I want to avoid doing this since I have a lot of classes that share the same style of code and that would require me to move multiple afterSave triggers to main.js.

]]>
https://community.parseplatform.org/t/parse-cloud-aftersave-in-model-class/4807#post_3 Tue, 27 May 2025 22:23:44 +0000 community.parseplatform.org-post-11604
Oracle MBaaS Based on Parse Hi All, if you are interested, there is plenty of feature work available. This is an article about using the adapter

or you could also try the Mongo API Adapter
I wrote it about it here with Parse Server

]]>
https://community.parseplatform.org/t/oracle-mbaas-based-on-parse/3160#post_16 Thu, 22 May 2025 18:06:08 +0000 community.parseplatform.org-post-11602
Oracle MBaaS Based on Parse Hi @vmsme This project has actually been completed. The adapter link is on the parseplatform.org website. However, the adapter features are not yet on par with the MongoDB adapter. There are some features missing, so any help there would be appreciated.

Note that while we helped in developing the testing framework for the adapter, it is a 3rd party adapter, hosted and maintained by Oracle.

]]>
https://community.parseplatform.org/t/oracle-mbaas-based-on-parse/3160#post_15 Thu, 22 May 2025 10:20:51 +0000 community.parseplatform.org-post-11601
Oracle MBaaS Based on Parse Hey Team, we would like to help with this integration.
@ddrechse @Manuel, is this still an active project, or should we start from scratch?

]]>
https://community.parseplatform.org/t/oracle-mbaas-based-on-parse/3160#post_14 Thu, 22 May 2025 09:10:00 +0000 community.parseplatform.org-post-11600
How to query Relations with good performance in cloud code? I found out that relations are for small group of items. Large groups of items makes the relation super slow. I avoid to use relations when possible. Even if you ask any AI chatbot it will tell you the same.

]]>
https://community.parseplatform.org/t/how-to-query-relations-with-good-performance-in-cloud-code/3762#post_2 Fri, 16 May 2025 00:32:23 +0000 community.parseplatform.org-post-11595