Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Terminologies 

Organization

Archive Institute

Project

Database Schema

Template

Schema DDL

Entity

Database Table

Field

Table Column

Entity Structure

PK -> Fk relations

Content

Archive unit metadata

Digital file

Files attached with archive units

AMID

Unique identifier for every archive unit

Template/Entity APIs

List Projects

Code Block
/api/project

Parameters

Name

Type

Default

Description

lite

Boolean

false

Only get id and name

onlyAdmin

Boolean

false

Only projects with admin rights

initializedArchives

Boolean

null

Only get projects with/without initialized archives, if null ignores archive state

Request URL

Code Block
http://localhost/gui-server/api/project?lite=false&onlyAdmin=false&initializedArchives=true

Example Response

Code Block
languagejson
[
  {
    "id": "kurs",
    "name": "KURS",
    "description": "",
    "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e",
    "templateName": "ISAD(G)_Asta5_template-kurs",
    "organizationId": "9c8009ac-d5b2-43f5-ba82-d39bba61941f",
    "organizationName": "KURS",
    "organizationCode": "KURS",
    "archiveInitialized": true,
    "projectStandard": "ISADG",
    "systemTemplates": null
  }
  {
    "id": "kbenh",
    "name": "København",
    "description": "",
    "templateId": "d2ada7a6-0859-4000-a929-d98399c6f6ce",
    "templateName": "Starbas-kbenh-kbenh",
    "organizationId": "eb2159a2-d3c5-428c-8d7a-53686a58adbb",
    "organizationName": "STARBAS",
    "organizationCode": "STARBAS",
    "archiveInitialized": true,
    "projectStandard": "STARBAS",
    "systemTemplates": null
  }
]

Get Project

Code Block
/api/project/{projectId}

Request URL

Code Block
http://localhost/gui-server/api/project/kurs

Example Response

Code Block
languagejson
{
  "id": "kurs",
  "name": "KURS",
  "description": "",
  "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e",
  "templateName": "ISAD(G)_Asta5_template-kurs",
  "organizationId": "9c8009ac-d5b2-43f5-ba82-d39bba61941f",
  "organizationName": "KURS",
  "organizationCode": "KURS",
  "archiveInitialized": true,
  "projectStandard": "ISADG",
  "systemTemplates": null
}

Get Project Entity by Entity Name

Code Block
/api/project/{projectId}/template/entity

Parameters

Name

Type

Default

Description

name

String

Not default must be provided

Entity name ignoring case

getFields

Boolean

true

Should include entity fields or not

Request URL

Code Block
http://localhost/gui-server/api/project/kurs/template/entity?name=arkiv&getFields=true

Example Response

Code Block
languagejson
[
  {
    "id": "335476d5-1c3a-4191-aed9-6f8394388473",
    "name": "ARKIV",
    "description": "",
    "displayName": "Arkiv",
    "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e",
    "fields": [
      {
        "id": "818db395-ca3f-47e3-8cc6-3566681a0888",
        "name": "_amid",
        "displayName": null,
        "description": null,
        "type": "uuid",
        "feature": "objectId",
        "length": null,
        "primaryKey": false,
        "generatedPrimaryKey": false,
        "unique": true,
        "nullable": false,
        "editable": false,
        "sequence": 0,
        "entityId": "335476d5-1c3a-4191-aed9-6f8394388473",
        "codeTableReference": null,
        "logSettings": {
          "logCreate": true,
          "logUpdate": true,
          "logDelete": true
        },
        "pattern": null,
        "foreignKey": false,
        "inherits": false,
        "initialValue": null,
        "allowedEntityNames": null,
        "translations": []
      },
      ...
    ],
    "isJunction": false,
    "logSettings": {
      "logCreate": true,
      "logUpdate": true,
      "logDelete": true
    },
    "isArchiveRoot": true,
    "isGlobalMember": false,
    "features": [],
    "searchSettings": {
      "isSearchable": true,
      "includeParticipantForSearch": true,
      "includeInheritedParticipantForSearch": false,
      "includeRestrictionForSearch": true,
      "includeInheritedRestrictionForSearch": false,
      "includeTagForSearch": true,
      "includeInheritedTagForSearch": false
    },
    "translations": [
      {
        "languageCode": "en",
        "id": "5c296bdf-3a28-4a3b-95f1-8485452c768e",
        "displayName": "",
        "description": ""
      },
      ...
    ]
  }
]

List Member Entities

Code Block
/api/project/{projectId}/template/entity-structure/owner/{entityId}

Request URL

Code Block
http://localhost/gui-server/api/project/kurs/template/entity-structure/owner/335476d5-1c3a-4191-aed9-6f8394388473

Example Response

Code Block
languagejson
[
  {
    "id": "ec13d394-5efc-48aa-a25c-ad31e5fa5c95",
    "owner": {
      "id": "335476d5-1c3a-4191-aed9-6f8394388473",
      "name": "ARKIV",
      ...
    },
    "member": {
      "id": "ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df",
      "name": "LOGG",
      ...
    },
    "links": [
      {
        "id": "c3a612ec-220a-4e27-9176-5929178b3a6b",
        "owner": {
          "id": "7389a042-8860-49a3-b28b-ed26f0eaab18",
          "name": "arkivid",
          ...
        },
        "member": {
          "id": "8f10366a-1da7-4b3e-add0-223b527ff5fd",
          "name": "arkivid",
          ...
        },
        "populateDuringImport": false
      }
    ],
    "createIndex": true,
    "isMemberSearchable": true
  },
  ...
]

List Owner Entities

Code Block
/api/project/{projectId}/template/entity-structure/member/{entityId}

Request URL

Code Block
http://localhost/gui-server/api/project/kurs/template/entity-structure/member/ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df

Example Response

Code Block
languagejson
[
  {
    "id": "ec13d394-5efc-48aa-a25c-ad31e5fa5c95",
    "owner": {
      "id": "335476d5-1c3a-4191-aed9-6f8394388473",
      "name": "ARKIV",
      ...
    },
    "member": {
      "id": "ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df",
      "name": "LOGG",
      ...
    },
    "links": [
      {
        "id": "c3a612ec-220a-4e27-9176-5929178b3a6b",
        "owner": {
          "id": "7389a042-8860-49a3-b28b-ed26f0eaab18",
          "name": "arkivid",
          ...
        },
        "member": {
          "id": "8f10366a-1da7-4b3e-add0-223b527ff5fd",
          "name": "arkivid",
          ...
        },
        "populateDuringImport": false
      }
    ],
    "createIndex": true,
    "isMemberSearchable": true
  },
  ...
]

Content/Data APIs

List Contents

Code Block
POST /api/content/{projectId}/entity/{entityName}/search

Parameters

Name

Type

Default

Description

firstResult

Int

Not default must be provided

Offset

maxResults

Int

true

Size

sortParamList

String[]

[_amid]

Sort fields

Body

Optional search condition as a JSON Object. This condition can be of 4 types.

Type

Operators
(Depends on the field type)

Example

Binary

  • EQUALS

  • NOT_EQUAL

  • CONTAINS

  • STARTS_WITH

  • ENDS_WITH

  • NOT_LIKE

  • GREATER_THAN

  • GREATER_THAN_EQUAL

  • LESS_THAN

  • LESS_THAN_EQUAL

Code Block
{
  "type": "binary",
  "value1": {
    "type": "column",
    "columnName": "arkivid",
    "castAs": null
  },
  "operator": "EQUALS",
  "value2": {
    "type": "direct",
    "value": "319f07ba-e894-4a31-a731-62bc3cd18072",
    "castAs": "uuid"
  }
}

Unitary

  • ISNULL

  • NOT_NULL

Code Block
{
  "type": "unary",
  "value": {
    "type": "column",
    "columnName": "arkivid",
    "castAs": null
  },
  "operator": "NOT_NULL"
}

List

  • IN

  • NOT_IN

Code Block
{
  "type": "list",
  "column": {
    "type": "column",
    "columnName": "arkivid",
    "castAs": null
  },
  "listOperator": "IN",
  "values": {
    "type": "direct",
    "value": [
      "319f07ba-e894-4a31-a731-62bc3cd18072"
    ],
    "castAs": "uuid"
  }
}

Combination

  • AND

  • OR

Code Block
{
  "type": "combination",
  "conditionsToCombine": [
    {
      "type": "list",
      "column": {
        "type": "column",
        "columnName": "arkivid",
        "castAs": null
      },
      "listOperator": "IN",
      "values": {
        "type": "direct",
        "value": [
          "319f07ba-e894-4a31-a731-62bc3cd18072"
        ],
        "castAs": "uuid"
      }
    },
    {
      "type": "unary",
      "value": {
        "type": "column",
        "columnName": "navn",
        "castAs": null
      },
      "operator": "NOT_NULL"
    }
  ],
  "combiner": "AND"
}

Request URL

Code Block
http://localhost/gui-server/api/project/kurs/template/entity?name=arkiv&getFields=true

Example Request Body

Code Block
{
  "type": "list",
  "column": {
    "type": "column",
    "columnName": "arkivid",
    "castAs": null
  },
  "listOperator": "IN",
  "values": {
    "type": "direct",
    "value": [
      "319f07ba-e894-4a31-a731-62bc3cd18072"
    ],
    "castAs": "uuid"
  }
}

Example Response

Code Block
[
  {
    "_amid": "21124e96-66cb-4cf3-88e5-1b3591e02ef3",
    "identifikator": "A-1011",
    "innhold": "Vår største styrke er evnen til å tiltrekke oss og beholde noen av de beste utviklerne i Dhaka - et enormt spennende arbeidsmarked.  Vi kan derfor skaffe erfarne seniorutviklere med kompetanse det nesten er umulig å finne i Norge - og det til en kostnad langt lavere enn lokale ansettelser eller innleide konsulenter.",
    "navn": "Oslo ferieleir",
    "created": "2023-06-21T08:48:46.500+00:00",
    "created_by": "sys_admin",
    "updated": "2024-09-12T07:46:11.442+00:00",
    "updated_by": "sys_admin",
    "kasskode": null,
    "arkivid": "319f07ba-e894-4a31-a731-62bc3cd18072",
    "merknad": null,
    "sluttdato": "1993.05.01",
    "startdato": "1975",
    "presisjon": "E",
    "omfang": null,
    "omfangenhet": null,
    "ordningsgrad": "C",
    "ordnetav": null,
    "ordnetdato": null,
    "katalogisering": null,
    "katalogmedium": null,
    "katalogreferanse": null,
    "asta5urn": "no-KURS_arkiv_000000000109",
    "depotstatus": "AV",
    "bevarinsgstid": 0,
    "kassasjonsar": null,
    "ispublishenabled": true,
    "fargebilde": false,
    "bunnmateriale": "0",
    "teknikk": "0",
    "fysisktilstand": "0",
    "beskrivelse": null,
    "planlagtkonservering": null,
    "bredde": null,
    "hoyde": null,
    "malestokk": null,
    "teknikkmerknad": null,
    "lokasjon": "SAO",
    "arkivlast": false,
    "date": null
  }
]

...