1234567891011121314151617181920212223242526272829303132333435 |
- // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
- export const isGraphQLId = (id: unknown): id is string => {
- return typeof id === 'string' && id.startsWith('gid://zammad/')
- };
- export const convertToGraphQLId = (type: string, id: number | string) => {
- return `gid://zammad/${type}/${id}`;
- }
- export const ensureGraphqlId = (type: string, id: number | string): string => {
- if (isGraphQLId(id)) {
- return id;
- }
- return convertToGraphQLId(type, id);
- }
- export const parseGraphqlId = (id: string): { relation: string; id: number } => {
- const [relation, idString] = id.slice('gid://zammad/'.length).split('/');
- return {
- relation,
- id: parseInt(idString, 10),
- };
- }
- export const getIdFromGraphQLId = (graphqlId: string) => {
- const parsedGraphqlId = parseGraphqlId(graphqlId);
- return parsedGraphqlId.id;
- }
- export const convertToGraphQLIds = (type: string, ids: (number | string)[]) => {
- return ids.map((id) => convertToGraphQLId(type, id));
- }
|