import {
SnackBaseError,
AuthenticationError,
ValidationError,
NetworkError,
} from "@snackbase/sdk";
async function createPost(data: PostCreate) {
try {
const post = await client.records.create("posts", data);
return { success: true, data: post };
} catch (error) {
if (error instanceof ValidationError) {
return {
success: false,
error: "Validation failed",
fields: error.fields,
};
}
if (error instanceof AuthenticationError) {
return {
success: false,
error: "Please log in to create posts",
};
}
if (error instanceof AuthorizationError) {
return {
success: false,
error: "You don't have permission to create posts",
};
}
if (error instanceof NetworkError) {
return {
success: false,
error: "Network error - please check your connection",
};
}
return {
success: false,
error: "An unexpected error occurred",
};
}
}